Viam · Arazzo Workflow

Viam Bill a Customer Location

Version 1.0.0

Reassign a location's billing org, read usage, and charge the customer.

1 workflow 1 source API 1 provider
View Spec View on GitHub RoboticsEdge AIFleet ManagementComputer-VisionMachine-LearningIoTEmbeddedgRPCArazzoWorkflows

Provider

viam

Workflows

bill-customer-location
Reassign a location billing org, read usage, and charge immediately.
Reads the current billing organization for a location, reassigns it, retrieves current-month usage for the billing organization, and creates an immediate invoice charge.
4 steps inputs: amount, apiKey, billingOrganizationId, description, locationId outputs: billingOrganizationId
1
readBillingOrg
getLocationBillingOrganization
Read the location's current billing organization assignment.
2
assignBillingOrg
updateLocationBillingOrganization
Reassign the location to the supplied billing organization.
3
readUsage
getCurrentMonthUsage
Retrieve current-month usage for the billing organization.
4
chargeCustomer
createInvoiceAndChargeImmediately
Create an invoice and charge the billing organization immediately.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Viam Bill a Customer Location
  summary: Reassign a location's billing org, read usage, and charge the customer.
  description: >-
    Supports Viam's "build a robotics business" billing features. The flow reads
    a location's current billing organization, reassigns it to the supplied
    billing organization, pulls current-month usage for that organization, and
    creates an invoice that charges the customer immediately. Each request body
    is inlined so the flow can be executed directly against the Viam Billing API.
  version: 1.0.0
sourceDescriptions:
- name: billingApi
  url: ../openapi/viam-billing-api-openapi.yml
  type: openapi
workflows:
- workflowId: bill-customer-location
  summary: Reassign a location billing org, read usage, and charge immediately.
  description: >-
    Reads the current billing organization for a location, reassigns it,
    retrieves current-month usage for the billing organization, and creates an
    immediate invoice charge.
  inputs:
    type: object
    required:
    - apiKey
    - locationId
    - billingOrganizationId
    - amount
    - description
    properties:
      apiKey:
        type: string
        description: Viam API key value sent in the key header.
      locationId:
        type: string
        description: The location whose billing organization is reassigned.
      billingOrganizationId:
        type: string
        description: The organization that should be billed for the location.
      amount:
        type: number
        description: The amount to invoice and charge immediately.
      description:
        type: string
        description: Human-readable description for the invoice charge.
  steps:
  - stepId: readBillingOrg
    description: Read the location's current billing organization assignment.
    operationId: getLocationBillingOrganization
    parameters:
    - name: key
      in: header
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        location_id: $inputs.locationId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: assignBillingOrg
    description: Reassign the location to the supplied billing organization.
    operationId: updateLocationBillingOrganization
    parameters:
    - name: key
      in: header
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        location_id: $inputs.locationId
        billing_organization_id: $inputs.billingOrganizationId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: readUsage
    description: Retrieve current-month usage for the billing organization.
    operationId: getCurrentMonthUsage
    parameters:
    - name: key
      in: header
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        org_id: $inputs.billingOrganizationId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: chargeCustomer
    description: Create an invoice and charge the billing organization immediately.
    operationId: createInvoiceAndChargeImmediately
    parameters:
    - name: key
      in: header
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        org_id: $inputs.billingOrganizationId
        amount: $inputs.amount
        description: $inputs.description
    successCriteria:
    - condition: $statusCode == 200
  outputs:
    billingOrganizationId: $inputs.billingOrganizationId

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/viam-bill-customer-location-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.