> ## Documentation index
> Fetch the complete documentation index at: https://developer.rhombus.com/llms.txt
> Use it to discover all available pages before exploring further.

# Find robot events

> Stream behavior/activity events emitted by a robot within a time range as newline-delimited JSON (one RobotEvent JSON object per line).

```http
POST https://api2.rhombussystems.com/api/robot/findRobotEvents
```

EU organizations send the same request to `https://api2.eu.rhombussystems.com`.

## Authentication and parameters

- `x-auth-apikey` (header, required): Your Rhombus API key. Must be accompanied by the `x-auth-scheme` header set to `api-token` (or `partner-api-token` for partner endpoints).
- `x-auth-scheme` (header, string, required, default: `api-token`): Authentication scheme identifier. Use `api-token` for standard API key authentication, `partner-api-token` for partner API key authentication. Must be paired with the `x-auth-apikey` header containing your API key. One of: `api-token`, `api`, `partner-api-token`, `partner-api`.

## Request body

Content type: `application/json`. Request to find robot events for a given robot within a time range.

- `deviceUuid` (string<RUUID> | null, required): base 64 (url-safe) uuid string
- `endMs` (integer<int64> | null): End of the time range in epoch milliseconds (exclusive)
- `startMs` (integer<int64> | null, required): Start of the time range in epoch milliseconds (inclusive)

## Response 200

OK. Content type: `application/x-ndjson`

- `activity` (string) One of: `IDLE`, `MANUAL_CMD_VEL`, `MANUAL_ACTION`, `MANUAL_POSTURE`, `NAVIGATE_TO_POSE`, `NAVIGATE_TO_HOME`, `NAVIGATE_TO_WAYPOINT`, `ROUTE_RUN`, `LOW_BATTERY_DOCKING`, `IDLE_DOCKING`, `DWELLING`, `EMERGENCY`, `EXPLORE_AND_MAP`, `EXPLORE_AREA`, `MAINTENANCE_HOLD`, `UNKNOWN`.
- `activityUuid` (string<RUUID> | null): base 64 (url-safe) uuid string
- `createdAtMs` (integer<int64> | null)
- `description` (string | null)
- `distanceRemaining` (number<float> | null)
- `estimatedTimeRemainingSec` (number<double> | null)
- `event` (string) One of: `STARTED`, `PROGRESS`, `SUSPENDED`, `RESUMED`, `COMPLETED`, `FAILED`, `CANCELED`, `REJECTED`, `UNKNOWN`.
- `failureReason` (string | null)
- `goalPose` (object)
- `locationUuid` (string<RUUID> | null): base 64 (url-safe) uuid string
- `navigationTimeSec` (number<double> | null)
- `orgUuid` (string<RUUID> | null): base 64 (url-safe) uuid string
- `originator` (object)
- `phase` (string | null)
- `phaseEvent` (string | null)
- `phaseUuid` (string<RUUID> | null): base 64 (url-safe) uuid string
- `preemptedBy` (object)
- `priority` (integer<int32> | null)
- `robotUuid` (string<RUUID> | null): base 64 (url-safe) uuid string
- `routeUuid` (string<RUUID> | null): base 64 (url-safe) uuid string
- `startedAtMs` (integer<int64> | null)
- `timestampMs` (integer<int64> | null)
- `uuid` (string<RUUID> | null): base 64 (url-safe) uuid string
- `waypointIndex` (integer<int32> | null)
- `waypointTotal` (integer<int32> | null)
- `waypointUuid` (string<RUUID> | null): base 64 (url-safe) uuid string

## OpenAPI

````yaml
openapi: 3.0.1
info:
  title: Rhombus API
  version: "1.0"
servers:
  - description: Production Server
    url: https://api2.rhombussystems.com
security:
  - ApiKeyAuth: []
paths:
  /api/robot/findRobotEvents:
    post:
      description: Stream behavior/activity events emitted by a robot within a time range as newline-delimited JSON (one RobotEvent JSON object per line).
      operationId: findRobotEvents
      parameters:
        - description: Authentication scheme identifier. Use `api-token` for standard API key authentication, `partner-api-token` for partner API key authentication. Must be paired with the `x-auth-apikey` header containing your API key.
          example: api-token
          in: header
          name: x-auth-scheme
          required: true
          schema:
            default: api-token
            enum:
              - api-token
              - api
              - partner-api-token
              - partner-api
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Robot_FindRobotEventsWSRequest"
      responses:
        "200":
          content:
            application/x-ndjson:
              schema:
                $ref: "#/components/schemas/RobotEvent"
          description: OK
      summary: Find robot events
      tags:
        - Robot Webservice
components:
  schemas:
    Robot_FindRobotEventsWSRequest:
      description: Request to find robot events for a given robot within a time range.
      properties:
        deviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        endMs:
          description: End of the time range in epoch milliseconds (exclusive)
          format: int64
          nullable: true
          type: integer
        startMs:
          description: Start of the time range in epoch milliseconds (inclusive)
          format: int64
          nullable: true
          type: integer
      required:
        - deviceUuid
        - startMs
      type: object
    RobotEvent:
      nullable: true
      properties:
        activity:
          $ref: "#/components/schemas/RobotActivityEnum"
        activityUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        createdAtMs:
          format: int64
          nullable: true
          type: integer
        description:
          nullable: true
          type: string
        distanceRemaining:
          format: float
          nullable: true
          type: number
        estimatedTimeRemainingSec:
          format: double
          nullable: true
          type: number
        event:
          $ref: "#/components/schemas/BehaviorEventTypeEnum"
        failureReason:
          nullable: true
          type: string
        goalPose:
          $ref: "#/components/schemas/Pose"
        locationUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        navigationTimeSec:
          format: double
          nullable: true
          type: number
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        originator:
          $ref: "#/components/schemas/BaseEventOriginator"
        phase:
          nullable: true
          type: string
        phaseEvent:
          nullable: true
          type: string
        phaseUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        preemptedBy:
          $ref: "#/components/schemas/PreemptedBy"
        priority:
          format: int32
          nullable: true
          type: integer
        robotUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        routeUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        startedAtMs:
          format: int64
          nullable: true
          type: integer
        timestampMs:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        waypointIndex:
          format: int32
          nullable: true
          type: integer
        waypointTotal:
          format: int32
          nullable: true
          type: integer
        waypointUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    RobotActivityEnum:
      enum:
        - IDLE
        - MANUAL_CMD_VEL
        - MANUAL_ACTION
        - MANUAL_POSTURE
        - NAVIGATE_TO_POSE
        - NAVIGATE_TO_HOME
        - NAVIGATE_TO_WAYPOINT
        - ROUTE_RUN
        - LOW_BATTERY_DOCKING
        - IDLE_DOCKING
        - DWELLING
        - EMERGENCY
        - EXPLORE_AND_MAP
        - EXPLORE_AREA
        - MAINTENANCE_HOLD
        - UNKNOWN
      type: string
    BehaviorEventTypeEnum:
      enum:
        - STARTED
        - PROGRESS
        - SUSPENDED
        - RESUMED
        - COMPLETED
        - FAILED
        - CANCELED
        - REJECTED
        - UNKNOWN
      type: string
    Pose:
      properties:
        orientation:
          items:
            description: Serialized as [x, y, z, w]
            format: double
            type: number
          maxItems: 4
          minItems: 4
          nullable: true
          type: array
        position:
          items:
            description: Serialized as [x, y, z]
            format: double
            type: number
          maxItems: 3
          minItems: 3
          nullable: true
          type: array
      type: object
    BaseEventOriginator:
      discriminator:
        propertyName: type
      oneOf:
        - $ref: "#/components/schemas/SupportAuthorityEventOriginator"
        - $ref: "#/components/schemas/ApiTokenEventOriginator"
        - $ref: "#/components/schemas/UserEventOriginator"
        - $ref: "#/components/schemas/RuleEventOriginator"
        - $ref: "#/components/schemas/ComponentCompositeEventOriginator"
        - $ref: "#/components/schemas/GuestPassEventOriginator"
        - $ref: "#/components/schemas/DeviceServiceEventOriginator"
      properties:
        auditPrincipal:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/EventOriginatorEnum"
      type: object
    SupportAuthorityEventOriginator:
      allOf:
        - properties:
            grantedToInternalEntityUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
            grantedToName:
              nullable: true
              type: string
            supportAuthorityUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
            supportUserEmail:
              nullable: true
              type: string
            supportUsername:
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        auditPrincipal:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/EventOriginatorEnum"
      type: object
    EventOriginatorEnum:
      enum:
        - USER
        - SUPPORT_AUTHORITY
        - API_TOKEN
        - RULE
        - COMPONENT_COMPOSITE_EVENT
        - GUEST_PASS
        - DEVICE_SERVICE
        - UNKNOWN
      type: string
    ApiTokenEventOriginator:
      allOf:
        - properties:
            tokenName:
              nullable: true
              type: string
            tokenUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        auditPrincipal:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/EventOriginatorEnum"
      type: object
    UserEventOriginator:
      allOf:
        - properties:
            userEmail:
              nullable: true
              type: string
            userUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
            username:
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        auditPrincipal:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/EventOriginatorEnum"
      type: object
    RuleEventOriginator:
      allOf:
        - properties:
            ruleName:
              nullable: true
              type: string
            ruleUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        auditPrincipal:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/EventOriginatorEnum"
      type: object
    ComponentCompositeEventOriginator:
      allOf:
        - properties:
            componentCompositeName:
              nullable: true
              type: string
            componentCompositeUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
            correlationId:
              nullable: true
              type: string
            eventUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
            originator:
              $ref: "#/components/schemas/BaseEventOriginator"
          type: object
      nullable: true
      properties:
        auditPrincipal:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/EventOriginatorEnum"
      type: object
    GuestPassEventOriginator:
      allOf:
        - properties:
            guestPassName:
              nullable: true
              type: string
            guestPassUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        auditPrincipal:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/EventOriginatorEnum"
      type: object
    DeviceServiceEventOriginator:
      allOf:
        - properties:
            deviceUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
            serviceName:
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        auditPrincipal:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/EventOriginatorEnum"
      type: object
    PreemptedBy:
      properties:
        activity:
          $ref: "#/components/schemas/RobotActivityEnum"
        priority:
          format: int32
          nullable: true
          type: integer
      type: object
  securitySchemes:
    ApiKeyAuth:
      description: Your Rhombus API key. Must be accompanied by the `x-auth-scheme` header set to `api-token` (or `partner-api-token` for partner endpoints).
      in: header
      name: x-auth-apikey
      type: apiKey
    oauth2:
      description: 'OAuth 2.0 authorization code flow with PKCE (`S256`). Send the access token as `Authorization: Bearer <token>`. Each operation lists the scopes it requires; a token without them is refused 403 with `WWW-Authenticate: Bearer error="insufficient_scope"`.'
      flows:
        authorizationCode:
          authorizationUrl: https://console.rhombus.com/oauth/authorize
          refreshUrl: https://auth-web.rhombussystems.com/oauth/token
          scopes:
            physical: Unlock doors and elevators, lockdown, alarms, speakers and robots
            read: View cameras, footage and settings
            write: Change settings and data
          tokenUrl: https://auth-web.rhombussystems.com/oauth/token
      type: oauth2
````
