openapi: 3.1.0 info: title: Viam Billing Arm Board 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: Board description: GPIO boards (Raspberry Pi, Jetson, ESP32). paths: /viam.component.board.v1.BoardService/SetGPIO: post: summary: Viam Board Set Gpio description: Set a GPIO pin high or low. operationId: boardSetGPIO tags: - Board requestBody: required: true content: application/json: schema: type: object required: - name - pin - high properties: name: type: string pin: type: string high: type: boolean responses: '200': description: Successful response. /viam.component.board.v1.BoardService/GetGPIO: post: summary: Viam Board Get Gpio description: Read a GPIO pin's current value. operationId: boardGetGPIO tags: - Board requestBody: required: true content: application/json: schema: type: object required: - name - pin properties: name: type: string pin: type: string responses: '200': description: Successful response. /viam.component.board.v1.BoardService/SetPWM: post: summary: Viam Board Set Pwm description: Set a pin's PWM duty cycle. operationId: boardSetPWM tags: - Board requestBody: required: true content: application/json: schema: type: object required: - name - pin - duty_cycle_pct properties: name: type: string pin: type: string duty_cycle_pct: type: number responses: '200': description: Successful response. /viam.component.board.v1.BoardService/ReadAnalogReader: post: summary: Viam Board Read Analog Reader description: Read a value from an analog reader. operationId: boardReadAnalogReader tags: - Board requestBody: required: true content: application/json: schema: type: object required: - board_name - analog_reader_name properties: board_name: type: string analog_reader_name: type: string responses: '200': description: Successful response. /viam.component.board.v1.BoardService/StreamTicks: post: summary: Viam Board Stream Ticks description: Stream digital interrupt ticks for the given pin names. operationId: boardStreamTicks tags: - Board requestBody: required: true content: application/json: schema: type: object required: - name - pin_names properties: name: type: string pin_names: type: array items: type: string responses: '200': description: Successful response. components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: key description: Viam API key.