openapi: 3.1.0 info: title: Viam Billing Arm Motion API description: 'REST/JSON transcoding of the Viam BillingService gRPC API. Retrieve current-month usage, invoice summaries, invoice PDFs, billing tiers, and the location-level billing organization assignment used by Viam''s "build a robotics business" features. Canonical contract: https://github.com/viamrobotics/api/blob/main/proto/viam/app/v1/billing.proto ' version: '2026.05' contact: name: Viam Support url: https://www.viam.com/contact servers: - url: https://app.viam.com description: Viam production cloud. security: - ApiKeyAuth: [] tags: - name: Motion description: Plan and execute motion across components. paths: /viam.service.motion.v1.MotionService/Move: post: summary: Viam Move description: Plan and execute a motion to a destination pose for a component. operationId: move tags: - Motion requestBody: required: true content: application/json: schema: type: object required: - name - component_name - destination properties: name: type: string component_name: type: object destination: type: object world_state: type: object constraints: type: object extra: type: object responses: '200': description: Successful response. /viam.service.motion.v1.MotionService/MoveOnMap: post: summary: Viam Move On Map description: Move a base component to a destination on a SLAM map. operationId: moveOnMap tags: - Motion requestBody: required: true content: application/json: schema: type: object required: - name - destination - component_name - slam_service_name properties: name: type: string destination: type: object component_name: type: object slam_service_name: type: object motion_configuration: type: object obstacles: type: array items: type: object responses: '200': description: Successful response. /viam.service.motion.v1.MotionService/MoveOnGlobe: post: summary: Viam Move On Globe description: Move a base component to a destination on the globe using GPS coordinates. operationId: moveOnGlobe tags: - Motion requestBody: required: true content: application/json: schema: type: object required: - name - destination - component_name - movement_sensor_name properties: name: type: string destination: type: object heading: type: number component_name: type: object movement_sensor_name: type: object obstacles: type: array items: type: object motion_configuration: type: object responses: '200': description: Successful response. /viam.service.motion.v1.MotionService/GetPose: post: summary: Viam Get Pose description: Retrieve the pose of a component relative to a destination frame. operationId: getPose tags: - Motion requestBody: required: true content: application/json: schema: type: object required: - name - component_name properties: name: type: string component_name: type: object destination_frame: type: string supplemental_transforms: type: array items: type: object responses: '200': description: Successful response. /viam.service.motion.v1.MotionService/StopPlan: post: summary: Viam Stop Plan description: Stop a running motion plan. operationId: stopPlan tags: - Motion requestBody: required: true content: application/json: schema: type: object required: - name - component_name properties: name: type: string component_name: type: object responses: '200': description: Successful response. /viam.service.motion.v1.MotionService/ListPlanStatuses: post: summary: Viam List Plan Statuses description: List status of motion plans on the machine. operationId: listPlanStatuses tags: - Motion requestBody: required: true content: application/json: schema: type: object required: - name properties: name: type: string only_active_plans: type: boolean responses: '200': description: Successful response. /viam.service.motion.v1.MotionService/GetPlan: post: summary: Viam Get Plan description: Retrieve a motion plan by execution id. operationId: getPlan tags: - Motion requestBody: required: true content: application/json: schema: type: object required: - name - component_name properties: name: type: string component_name: type: object execution_id: type: string last_plan_only: type: boolean responses: '200': description: Successful response. /viam.service.motion.v1.MotionService/DoCommand: post: summary: Viam Do Command description: Model-specific custom commands. operationId: doCommand tags: - Motion requestBody: required: true content: application/json: schema: type: object required: - name - command properties: name: type: string command: type: object responses: '200': description: Successful response. components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: key description: Viam API key.