openapi: 3.1.0 info: title: Viam Billing Arm Machine Parts 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: Machine Parts description: A single viam-server process running on a device. A machine can have multiple parts. paths: /viam.app.v1.AppService/GetRobotParts: post: summary: Viam Get Machine Parts description: List parts (viam-server processes) that make up a machine. operationId: getRobotParts tags: - Machine Parts requestBody: required: true content: application/json: schema: type: object required: - robot_id properties: robot_id: type: string responses: '200': description: Successful response. /viam.app.v1.AppService/GetRobotPart: post: summary: Viam Get Machine Part description: Retrieve a single machine part. operationId: getRobotPart tags: - Machine Parts requestBody: required: true content: application/json: schema: type: object required: - id properties: id: type: string responses: '200': description: Successful response. /viam.app.v1.AppService/NewRobotPart: post: summary: Viam Create Machine Part description: Create a new machine part. operationId: newRobotPart tags: - Machine Parts requestBody: required: true content: application/json: schema: type: object required: - robot_id - part_name properties: robot_id: type: string part_name: type: string responses: '200': description: Successful response. /viam.app.v1.AppService/MarkPartForRestart: post: summary: Viam Restart Machine Part description: Schedule a restart for a machine part. operationId: markPartForRestart tags: - Machine Parts requestBody: required: true content: application/json: schema: type: object required: - part_id properties: part_id: type: string responses: '200': description: Successful response. /viam.app.v1.AppService/GetRobotPartLogs: post: summary: Viam Get Machine Part Logs description: Retrieve logs from a machine part. operationId: getRobotPartLogs tags: - Machine Parts requestBody: required: true content: application/json: schema: type: object required: - id properties: id: type: string errors_only: type: boolean filter: type: string responses: '200': description: Successful response. components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: key description: Viam API key.