Glossary

API

API Namespace Triplet

One API can have various models, custom or built-in, but they all must conform to the same API definition. This requirement ensures that when a resource of that model is deployed, you can interface with it using the same client API methods you would when programming resources of the same API with a different model.

Each resource implements one and only one API.

For example:

  • The API of the built-in component camera is rdk:component:camera, which exposes methods such as GetImages().
  • The API of the built-in service vision is rdk:service:vision, which exposes methods such as GetDetectionsFromCamera().

Attribute

Base

Blob storage

Board

Captive web portal

Client Application

Component

Flash

  1. Downloading an image file (OS or firmware)
  2. Using specialized software to write the image to the target device
  3. Verifying the write was successful
  4. Booting or resetting the device to load the new software

For example, when setting up a Raspberry Pi for use with Viam, you would “flash” Raspberry Pi OS to an SD card using the Raspberry Pi Imager or similar software.

Flashing is different from regular software installation because it involves writing directly to storage at a low level, often replacing everything on the target storage medium.

Fragment

Frame

Frame System

Gantry

gRPC

Jobs

Location

Machine

Machine Config

Machine FQDN

Machine ID

ML

Model

Models are either included with viam-server or provided through modules. All models are uniquely namespaced as colon-delimited-triplets. Built-in model names have the form rdk:builtin:name. Modular resource model names have the form namespace:module-name:model-name. See Write your module for more information.

Model Namespace Triplet

Modular Resource

For more information see the Create a module.

MQL

Organization

Origin frame

For more information, see How the frame system works.

Package

Part

Pi

Pin Number

Pin numbers are found on a board’s pinout diagram and datasheet.

Protocol Buffers (Protobuf)

RDK (Robot Development Kit)

Remote part

Resource

Each resource on your machine implements either one of the existing Viam APIs, or a custom interface.

SDK (Software Development Kit)

Service

Smart Machine

SQL

Subtype

For example, an arm is a subtype of the component resource type, while the ur5e is a model of the arm subtype’s API.

The Vision Service is a subtype of the service resource type.

The subtype string is the third part of the API namespace triplet.

Trigger

Type

Viam Agent

Viam Robot API

viam-micro-server

viam-server

View setup instructions

Vision service

For more information, see the Vision service documentation or Alert on inferences.

WebRTC

Websockets

World frame

The user chooses the world frame, and defines it implicitly. For example, if you have a robot arm mounted on a table and you define the arm’s origin frame as having no translation or orientation relative to the world frame, then the arm’s origin frame is the origin of the world frame.

© 2026 Viam, Inc. - Documentation is licensed under Creative Commons ShareAlike License. All Rights Reserved
PRIVACY POLICY | ABOUT US | STATUS