openapi: 3.1.0 info: title: Viam Billing Arm Motor 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: Motor description: DC, servo, and stepper motors. paths: /viam.component.motor.v1.MotorService/SetPower: post: summary: Viam Motor Set Power description: Set the motor's power as a signed fraction of full power. operationId: motorSetPower tags: - Motor requestBody: required: true content: application/json: schema: type: object required: - name - power_pct properties: name: type: string power_pct: type: number responses: '200': description: Successful response. /viam.component.motor.v1.MotorService/GoFor: post: summary: Viam Motor Go For description: Spin the motor at an RPM for a specified number of revolutions. operationId: motorGoFor tags: - Motor requestBody: required: true content: application/json: schema: type: object required: - name - rpm - revolutions properties: name: type: string rpm: type: number revolutions: type: number responses: '200': description: Successful response. /viam.component.motor.v1.MotorService/GoTo: post: summary: Viam Motor Go To description: Move the motor to a target position at an RPM. operationId: motorGoTo tags: - Motor requestBody: required: true content: application/json: schema: type: object required: - name - rpm - position_revolutions properties: name: type: string rpm: type: number position_revolutions: type: number responses: '200': description: Successful response. /viam.component.motor.v1.MotorService/SetRPM: post: summary: Viam Motor Set Rpm description: Spin the motor continuously at the requested RPM. operationId: motorSetRPM tags: - Motor requestBody: required: true content: application/json: schema: type: object required: - name - rpm properties: name: type: string rpm: type: number responses: '200': description: Successful response. /viam.component.motor.v1.MotorService/Stop: post: summary: Viam Motor Stop description: Stop the motor. operationId: motorStop tags: - Motor requestBody: required: true content: application/json: schema: type: object required: - name properties: name: type: string responses: '200': description: Successful response. /viam.component.motor.v1.MotorService/IsPowered: post: summary: Viam Motor Is Powered description: Check whether the motor is currently powered. operationId: motorIsPowered tags: - Motor requestBody: required: true content: application/json: schema: type: object required: - name properties: name: type: string responses: '200': description: Successful response. components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: key description: Viam API key.