Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC
Viam website screenshot

Viam

Viam is a robotics and edge AI platform founded in 2020 by Eliot Horowitz (MongoDB co-founder and former CTO). It pairs viam-server — a gRPC-based runtime that runs on Linux single-board computers (RDK) and ESP32-class microcontrollers (micro-rdk) — with viam.app, a multi-tenant cloud for fleet management, data capture, ML training, and remote operations. Every hardware component (motors, cameras, sensors, arms) and every machine-level service (motion, vision, SLAM, ML inference, navigation) is exposed through a uniform gRPC contract defined in viamrobotics/api with first-class SDKs for Python, Go, Rust, TypeScript, C++, Java, .NET, and Flutter. A modular registry lets vendors and community contributors publish new hardware drivers, vision models, and services as OCI images or packages that any Viam machine can pull at config time, making physical-world control feel like building a microservice.

agent ready

Solid contracts, transparent operations, and an easy start — typically complete on four or five facets with one clear soft spot.

Kin Score

API Evangelist profiles Viam the way a machine reads it — 137 machine-readable artifacts across 52 APIs, pulled from the provider's own public surface and indexed so a developer, an analyst, or an AI agent can evaluate it against every other provider on the network.

Every provider in the network is reduced to the same set of machine-readable artifacts — OpenAPI contracts, event specifications, GraphQL schemas, runnable collections, pricing and rate-limit signals, security posture, OAuth scopes, and the agent surfaces (MCP servers and skills) that let software drive the API on its own. We profile them because the interface is the part of a company you can actually inspect: it is a truer signal of what a provider does than any marketing page. From those artifacts we compute the Kin Score — Viam scores 67.7/100 (strong), with a separate agent-readiness read of 55/100 (agent ready). The full breakdown is below, followed by every artifact we hold — each card links through to its machine-readable definition on apis.io.

Kin Score

This is the API Evangelist rating — a single, repeatable read computed from the artifacts on this page. Green fill is points earned; the red track is points possible, so every bar shows earned-versus-possible at a glance.

Kin Score Kin Score How this is scored →
scored 2026-07-27 · rubric v0.5
Composite quality — 67.7/100 · strong
Contract Quality 18.2 / 25
Developer Ergonomics 12.2 / 20
Commercial Clarity 15.8 / 20
Operational Transparency 4.8 / 13
Governance 8.8 / 12
Discoverability 8.0 / 10
Agent readiness — 55/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 15 / 15
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3

How we profile Viam

Each block below is one kind of artifact we hold for Viam. For each we say what it is and why it earns a place in the profile, then list every one we've indexed — capped at two rows, scroll within the panel for the rest.

APIs 52

Each API is captured as its own OpenAPI definition — every operation, parameter, and response. This is the single most useful machine-readable description of what an API does, and it's what lets us score, lint, mock, and generate against it without asking the provider for anything.

Individual APIs this provider publishes, each with its own machine-readable definition.

Viam Provisioning API

Bootstrap a smart machine onto Wi-Fi and into the viam.app cloud over Bluetooth or hotspot. SetNetworkCredentials, SetSmartMachineCredentials, GetNetworkList, GetSmartMachineSta...

Viam Arm API

Robotic arms — joint and end-effector control.

Viam Audio In API

Audio capture devices.

Viam Audio Out API

Audio playback devices.

Viam Base API

Mobile platforms (wheeled, tracked).

Viam Billing Tiers API

Available billing tiers for end-customer billing.

Viam Binary Data API

Images, video, audio, and other binary blobs captured by cameras and audio components.

Viam Board API

GPIO boards (Raspberry Pi, Jetson, ESP32).

Viam Button API

Physical buttons.

Viam Camera API

2D image and 3D point cloud sources.

Viam Charges API

Charge an organization or create-and-charge an invoice.

Viam Database API

Direct database connection (MongoDB) for advanced analytics.

Viam Datasets API

Curated collections of binary data used for ML training.

Viam Encoder API

Position encoders.

Viam Fragments API

Reusable machine configuration snippets, versioned and shareable across orgs.

Viam Frame System API

Frame system config and pose transformations.

Viam Gantry API

Linear actuator coordination.

Viam Generic API

Custom component with DoCommand-only interface.

Viam Gripper API

End-effector grippers.

Viam Inference API

Cloud-hosted inference against registry-deployed models.

Viam Invoices API

Invoices and invoice PDFs.

Viam Locations API

Logical grouping of machines (e.g., a building, site, or robot fleet).

Viam Machine Parts API

A single viam-server process running on a device. A machine can have multiple parts.

Viam Machines API

A robot or smart machine running viam-server. Composed of one or more parts.

Viam Members API

Organization membership, invites, and authorizations (RBAC).

Viam ML Model API

Device-side ML inference.

Viam Modules API

Modular component and service lifecycle.

Viam Motion API

Plan and execute motion across components.

Viam Motor API

DC, servo, and stepper motors.

Viam Movement Sensor API

GPS, IMU, odometry.

Viam OAuth Apps API

OAuth applications registered against a Viam organization for third-party integrations.

Viam Operations API

Long-running operations executing on the machine.

Viam Organizations API

Tenant boundary for Viam — owns locations, machines, members, billing, and registry items.

Viam Pipelines API

Scheduled MQL aggregation pipelines.

Viam Power Sensor API

Voltage, current, and power measurements.

Viam Resources API

Resources (components and services) registered on the machine.

Viam Saved Queries API

Reusable SQL/MQL queries stored in the cloud.

Viam Secrets API

Location and machine-part secrets used by SDKs to authenticate.

Viam Sensor API

Generic sensor readings.

Viam Sequences API

Ordered sequences of dataset items for time-series training.

Viam Servo API

Angular-position servos.

Viam Sessions API

Client sessions with safety-timeout heartbeats.

Viam SLAM API

Simultaneous Localization And Mapping.

Viam Status API

Status, version, cloud metadata, and machine state.

Viam Switch API

Multi-position switches.

Viam Tabular Data API

Time-series and structured data captured by sensor and movement-sensor components.

Viam Tags API

Bounding boxes and labels applied to binary data items.

Viam Training Jobs API

Built-in TFLite trainers and custom containerized trainers.

Viam Tunneling API

TCP tunneling through the machine.

Viam Upload API

Streaming and one-shot uploads of captured data.

Viam Usage API

Current-month usage reporting.

Viam Vision API

Detections, classifications, and 3D segmentation.

Scroll within the panel for all 52 ·

Postman Collections 14

A runnable collection turns the contract into something a developer can execute in seconds. We profile them because the fastest way to trust an API is to make a real call against it.

Ready-to-run Postman collections for exercising this provider's APIs.

Scroll within the panel for all 14 ·

Open Collections 14

Open, tool-agnostic collections carry the same runnable value as Postman without locking you to one client — the portable, forkable form of the same exercise.

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

Viam Billing API

OPEN COLLECTION

Viam Component APIs

OPEN COLLECTION

Viam Data Client API

OPEN COLLECTION

Viam Data Pipelines API

OPEN COLLECTION

Viam Data Sync API

OPEN COLLECTION

Viam Fleet Management API

OPEN COLLECTION

Viam ML Inference API

OPEN COLLECTION

Viam ML Model Service API

OPEN COLLECTION

Viam ML Training API

OPEN COLLECTION

Viam Motion Service API

OPEN COLLECTION

Viam Provisioning API

OPEN COLLECTION

Viam SLAM Service API

OPEN COLLECTION

Viam Vision Service API

OPEN COLLECTION

Scroll within the panel for all 14 ·

Arazzo Workflows 12

Real integrations are rarely a single call. Arazzo describes the multi-step sequences — auth, then create, then confirm — so both a human and an agent can follow the choreography, not just the endpoints.

Multi-step API workflows described with the Arazzo specification.

Viam Add a Machine With a Part

Create a machine in an existing location and add a viam-server part to it.

ARAZZO

Viam Arm Move and Verify

Read an arm's pose, move it to a target, verify joints, then stop it.

ARAZZO

Viam Bill a Customer Location

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

ARAZZO

Viam Curate a Training Dataset

Find binary data by filter, tag the matches, and add them to a dataset.

ARAZZO

Viam Data Pipeline Lifecycle

Create a scheduled MQL pipeline, resolve it, enable it, and list its runs.

ARAZZO

Viam Roll Out a Configuration Fragment

Create a reusable config fragment and restart a machine part to adopt it.

ARAZZO

Viam Machine Health Check

Inspect a live machine's status, resources, version, and cloud identity.

ARAZZO

Viam Onboard an Organization Member

Verify an organization, invite a new member, and confirm the pending invite.

ARAZZO

Viam Provision a New Fleet

Stand up a brand-new organization, location, and machine in one pass.

ARAZZO

Viam Provision a Smart Machine

Bootstrap a fresh device onto Wi-Fi and into the Viam cloud over the hotspot.

ARAZZO

Viam Saved Query Lifecycle

Create a saved SQL query, resolve it from the list, read it, and update it.

ARAZZO

Viam Train and Monitor an ML Model

Submit a TFLite training job, poll its status, and branch to logs or cancel.

ARAZZO

Scroll within the panel for all 12 ·

Pricing Plans 1

Pricing is part of the interface. Machine-readable plans tell you what a tier costs and includes before you commit — one of the six things the Kin Score reads for commercial clarity.

Published pricing tiers and plan structures.

Viam Plans Pricing

4 plans

PLANS

Rate Limits 1

Rate limits are the difference between a demo that works and a production integration that doesn't fall over. Publishing them is an operational-transparency signal — and a hard requirement for any agent that plans its own throughput.

Documented rate limits and quota policies.

Viam Rate Limits

0 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals let a buyer model the financial operations of an API before it's live. We profile them for the same reason we profile pricing: the money is part of the contract.

Cost, billing, and metering signals for API financial operations.

Viam Finops

FINOPS

Features 22

The notable capabilities this provider advertises, captured as structured features so they can be searched and compared instead of read one landing page at a time.

Notable capabilities this provider offers.

viam-server (RDK) — Go-based runtime for Linux SBCs and servers; the per-machine control plane
micro-rdk — Rust-based viam-server variant for ESP32-class microcontrollers
viam-agent — managed system service that installs, configures, and updates viam-server on devices
viam.app — multi-tenant cloud for fleet management, configuration, and remote control
gRPC-first API contract shared by every official SDK (Python, Go, Rust, TypeScript, C++, Java, .NET, Flutter)
Modular registry — pluggable components and services published as OCI images, npm modules, or PyPI packages
Component APIs covering arm, base, board, button, camera, encoder, gantry, gripper, input controller, motor, movement sensor, pose tracker, power sensor, sensor, servo, switch, audio in/out
Service APIs for motion planning, vision, SLAM, navigation, data management, ML model inference, sensors aggregation, world state, discovery, and generic services
Data Management Service captures data at the edge and syncs to the Viam cloud (tabular and binary)
Data Client API with SQL and MongoDB-MQL query interfaces over captured data
Data Pipelines for scheduled MQL aggregation into the Viam hot data store
ML Training cloud jobs (built-in TFLite trainers + custom containerized trainers)
ML Model Service for edge inference (TFLite, ONNX, Triton)
Cloud SLAM mapping sessions and Cartographer/ORB-SLAM3 integrations
Fleet-level fragments, packages, and machine configuration with OTA rollout
Provisioning over Bluetooth or hotspot via viam-agent and Flutter provisioning widgets
OAuth apps, API keys, location secrets, RBAC, and SCIM for organization administration
Billing API supporting custom per-machine, per-data, per-API-call invoicing for end-customers
Modular registry build pipeline via GitHub Action (multi-arch builds)
Hardware abstraction enabling write-once / run-on-many-platforms control code
Free tier with $5/month in included cloud usage; usage-based metering for storage, compute, and egress
Founded 2020 by Eliot Horowitz (MongoDB co-founder and former CTO)

Scroll within the panel for all 22 ·

Semantic Vocabularies 1

JSON-LD contexts give the data shared meaning across APIs. We profile them because semantics are what let a machine reconcile 'customer' here with 'customer' somewhere else.

JSON-LD contexts and semantic vocabularies used across these APIs.

Viam Context

35 classes · 7 properties

JSON-LD

Spectral Rules 2

Governance rulesets we run against this provider's specs — the automated checks behind parts of the score. Profiling them makes the quality bar explicit and re-runnable, not a matter of opinion.

Viam API Rules

5 rules · 4 warnings

SPECTRAL

Viam API Rules

4 rules · 1 errors · 3 warnings

SPECTRAL

JSON Schema 5

Standalone JSON Schema definitions describe the data models behind the API. We profile them so the shapes are validatable on their own — useful long after a single request is forgotten.

Standalone JSON Schema definitions for this provider's data models.

Viam Binary Data Item

13 properties

JSON SCHEMA

Viam Location

8 properties

JSON SCHEMA

Viam Machine

6 properties

JSON SCHEMA

Viam Organization

6 properties

JSON SCHEMA

Viam Tabular Data Point

12 properties

JSON SCHEMA

Examples 9

Real request and response payloads are what turn a spec from abstract into obvious — and they're one of the twelve things an agent needs to call an API correctly on the first try.

Example request and response payloads for these APIs.

Scroll within the panel for all 9 ·

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals — the evidence that a provider takes security seriously enough to document it. We profile it because you can't govern what you can't see.

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Viam Authentication

apiKey · 1 scheme

SECURITY

Viam Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Agentic Access 1

An x-agentic-access contract marks which operations are safe for an agent to run on its own and which need a human in the loop. It is the difference between an API an agent can use and one it can use safely.

Recommended x-agentic-access execution contracts for AI agents.

Viam Agentic Access

189 operations · 189 acting · 8 human-in-the-loop

189 operations · 189 acting

AGENTIC

Resources

Every other property we hold for Viam — documentation, portals, status pages, policies, and corporate surface — grouped by the job it does, following the integrator's arc from getting started to running in production.

Get Started 4

Portal, sign-up, and the first successful call

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Access & Security 3

Authentication, authorization, and security posture

Learn 1

Tutorials, courses, talks, and written guidance

Company 4

The organization behind the API

Other 2

Properties that don't map to a standard resource type

← All providers · Data indexed from github.com/api-evangelist/viam · machine-readable index on apis.io