Skip to content
Open
Show file tree
Hide file tree
Changes from 71 commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
2fe596b
IA skeleton part 1: nav structure and task-oriented sections (#4836)
shannonbradshaw Mar 18, 2026
fa224fc
IA skeleton part 2: reference section stubs (#4837)
shannonbradshaw Mar 18, 2026
2f41be8
Fix stub page titles: sentence case, typos, descriptive names (#4843)
shannonbradshaw Mar 20, 2026
d43a4a1
Add What is Viam? section content (#4838)
shannonbradshaw Mar 24, 2026
3afb805
Get started: step-by-step machine setup guide (#4844)
shannonbradshaw Mar 25, 2026
419cca4
Add Try section: restructured tutorial with fragment-based vision pip…
shannonbradshaw Mar 30, 2026
16f2daf
Fix Netlify no-more-404 deploy failures (#4855)
shannonbradshaw Mar 30, 2026
b1d84cd
Hide foundation/setup-micro stubs from navigation (#4856)
shannonbradshaw Mar 30, 2026
e189abc
Consolidate What is Viam into a single page (#4857)
shannonbradshaw Mar 30, 2026
caf403c
Configure hardware: component pages with validated code samples (#4847)
shannonbradshaw Mar 30, 2026
cc0817e
Manage data: validated content with restructured navigation (#4859)
shannonbradshaw Mar 30, 2026
46d352a
Train ML models section: accuracy fixes, Diataxis restructuring, UI-f…
shannonbradshaw Mar 30, 2026
b1b2acb
Add computer vision section (#4853)
shannonbradshaw Mar 30, 2026
17bc6ce
Build and deploy modules: content, accuracy fixes, Diataxis restructu…
shannonbradshaw Mar 30, 2026
a721395
Motion planning section: accuracy fixes and new content (#4863)
shannonbradshaw Mar 31, 2026
5a18661
Hardware section: framing improvements and registry links (#4864)
shannonbradshaw Mar 31, 2026
a25a955
Add CLI section: task-oriented guides and command reference (#4862)
shannonbradshaw Mar 31, 2026
ff063e3
Move CLI section after Configure hardware in nav (#4865)
shannonbradshaw Mar 31, 2026
ed109da
Navigation section: GPS-based autonomous navigation content (#4866)
shannonbradshaw Mar 31, 2026
f5d61fb
Add 3D scene tab documentation (#4875)
shannonbradshaw Apr 1, 2026
ef0160a
Fix Netlify branch-deploy: add navigation alias redirects (#4876)
shannonbradshaw Apr 1, 2026
54fefa6
Build modules: overview restructure and anatomy page (#4870)
shannonbradshaw Apr 1, 2026
865aaef
Updates to the first tutorial - Try Viam (#4868)
btshrewsbury-viam Apr 6, 2026
56e8b84
Add billing and payment documentation (#4881)
shannonbradshaw Apr 6, 2026
88a9b5d
Fleet deployment section: complete rewrite from scratch (#4877)
shannonbradshaw Apr 6, 2026
e74f195
Add data dashboards documentation (#4882)
shannonbradshaw Apr 7, 2026
c32104b
Monitor and operate section: complete rewrite (#4885)
shannonbradshaw Apr 7, 2026
de87535
Monitor section: accuracy fixes and alias redirects (#4887)
shannonbradshaw Apr 8, 2026
2e8c324
Add CLI update command reference and fix version section (#4883)
shannonbradshaw Apr 8, 2026
239bdd1
Update module reload docs for cloud download changes (#4888)
shannonbradshaw Apr 8, 2026
12f0ef8
New docs site gazebo cleanup (#4884)
btshrewsbury-viam Apr 8, 2026
2dd69bb
Admin and access section: content and new pages (#4886)
shannonbradshaw Apr 8, 2026
057bb24
Reorder cloud boxes in architecture diagram (#4889)
shannonbradshaw Apr 8, 2026
786667c
Center cloud-to-machine arrows in architecture diagram (#4890)
shannonbradshaw Apr 8, 2026
d8da0d8
Populate trigger configuration reference page (#4892)
shannonbradshaw Apr 8, 2026
bba3b3c
Redirect Admin and access section header to overview page (#4893)
shannonbradshaw Apr 8, 2026
dd07f92
Remove previous/next navigation links from docs pages (#4896)
shannonbradshaw Apr 9, 2026
8e3b600
CLI section: accuracy fixes and missing command coverage (#4900)
shannonbradshaw Apr 10, 2026
7e470e0
Update configure tab UI labels for new attributes section layout (#4894)
shannonbradshaw Apr 10, 2026
3227f72
Manage data: fix broken Python SDK, SQL timestamp bug, and tutorial n…
shannonbradshaw Apr 10, 2026
7cc7a9d
Manage data: restructure filtered camera and multi-part capture pages…
shannonbradshaw Apr 10, 2026
6981a74
Manage data: address Copilot follow-ups from PR 4901 (#4903)
shannonbradshaw Apr 10, 2026
39fcbd4
Manage data pipelines: reference clarity, overview links, CLI output …
shannonbradshaw Apr 13, 2026
50eb59c
Document parenting components to intermediate arm frames (#4899)
shannonbradshaw Apr 13, 2026
6723303
Update machine settings card labels for new layout (#4898)
shannonbradshaw Apr 13, 2026
bb4c20b
Fix tflite_cpu module name typo in hello world guide (#4907)
shannonbradshaw Apr 13, 2026
57fb827
Update train docs for deprecated TRAINING tab (#4905)
shannonbradshaw Apr 13, 2026
0ad5554
API reference: populate stubs, update CSV, add missing methods, delet…
shannonbradshaw Apr 13, 2026
eb4da2d
Fix CLI docs for viam data delete tabular and remove ghost --componen…
shannonbradshaw Apr 13, 2026
0cb0070
Manage data overview: add data deletion section and expand OTel traci…
shannonbradshaw Apr 13, 2026
a8f9ab0
Fix CLI data delete tabular docs in dev/tools/cli.md (#4910)
shannonbradshaw Apr 13, 2026
5eb980b
Regenerate API docs: fix CSV, add missing methods, remove deprecated …
shannonbradshaw Apr 13, 2026
a19926c
Manage data overview: add data flow diagram (#4917)
shannonbradshaw Apr 13, 2026
549ece1
Conditional sync: storage warning and timezone docs; upload: director…
shannonbradshaw Apr 13, 2026
bba391d
Extract captured data schema into standalone page (#4919)
shannonbradshaw Apr 13, 2026
df9182a
Data reference: promote supported resources, add JSON examples, link …
shannonbradshaw Apr 13, 2026
1d7b48b
Triggers: surface all 5 types, add webhook and frequency docs; visual…
shannonbradshaw Apr 13, 2026
aafd95b
API reference: add missing cards, fix weight ordering (#4914)
shannonbradshaw Apr 13, 2026
6424418
Populate reference stubs: APIs, architecture, SDKs, platform (#4922)
shannonbradshaw Apr 13, 2026
59a90cf
Fix UI terminology, data capture instructions, broken links, and edit…
shannonbradshaw Apr 13, 2026
55e7a89
Fix content accuracy, hot reloading, and code examples (#4923)
shannonbradshaw Apr 13, 2026
67b47f1
Rewrite vision/track to use viam:object-tracker module (#4925)
shannonbradshaw Apr 13, 2026
caf9f73
Add build-apps section (#4926)
shannonbradshaw Apr 13, 2026
696c371
Migrate can inspection sim setup from Docker to cans.viam-labs.com (#…
btshrewsbury-viam Apr 13, 2026
041d54e
Remove architecture and dev tools sections (#4924)
shannonbradshaw Apr 14, 2026
2ece0cf
Remove changelog and platform section from reference (#4928)
shannonbradshaw Apr 14, 2026
14a84ed
Note that DeleteTabularData also deletes from the hot data store (#4927)
shannonbradshaw Apr 14, 2026
11af34a
Update data capture and frame instructions for feature-button UI (#4930)
shannonbradshaw Apr 14, 2026
7cbb174
Remove hidden manage/ section (#4931)
shannonbradshaw Apr 14, 2026
19d8382
Remove hidden data-ai/ section (#4932)
shannonbradshaw Apr 14, 2026
4c73402
Document new TypeScript SDK reconnection events
claude Apr 15, 2026
5e5989d
Address Copilot review: reset wasReconnecting on DISCONNECTED/RECONNE…
claude Apr 15, 2026
9b78e1d
Call out DISCONNECTED behavior change with version-anchored alerts
shannonbradshaw Apr 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 10 additions & 3 deletions .github/workflows/sdk_protos_map.csv
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,7 @@ button,GetResourceName,No,get_resource_name,Name,getResourceName,name
button,Close,No,close,Close,,

## Camera
camera,GetImage,,get_image,Image,image,getImage
camera,GetImages,,get_images,Images,getImages,getImages
camera,RenderFrame,,,,,renderFrame
camera,GetPointCloud,,get_point_cloud,NextPointCloud,pointCloud,getPointCloud
camera,GetProperties,,get_properties,Properties,properties,getProperties
## TED: Camera in Go SDK doesn't appear to implement (inherit) these:
Expand Down Expand Up @@ -173,6 +171,7 @@ motor,IsPowered,No,is_powered,IsPowered,powerState,isPowered
## HACK: No proto for these (and/or inherited in Go SDK), manually mapping:
motor,IsMoving,Yes,is_moving,IsMoving,isMoving,isMoving
motor,Stop,Yes,stop,Stop,stop,stop
motor,GetGeometries,No,get_geometries,,,
motor,Reconfigure,No,,Reconfigure,,
# NOT implemented in other languages
motor,DoCommand,,do_command,DoCommand,doCommand,doCommand
Expand Down Expand Up @@ -229,6 +228,7 @@ servo,GetPosition,Yes,get_position,Position,position,getPosition
## HACK: No proto for these (and/or inherited in Go SDK), manually mapping:
servo,IsMoving,No,is_moving,IsMoving,isMoving,isMoving
servo,Stop,Yes,stop,Stop,stop,stop
servo,GetGeometries,No,get_geometries,,,
servo,Reconfigure,No,,Reconfigure,,
# NOT implemented in other languages
servo,DoCommand,,do_command,DoCommand,doCommand,doCommand
Expand All @@ -254,7 +254,6 @@ base_remote_control,Close,,,Close,,

## Data Manager
data_manager,Sync,No,,Sync,,sync
data_manager,UploadImageToDatasets,No,,UploadImageToDatasets,,,
data_manager,UploadBinaryDataToDatasets,No,,UploadBinaryDataToDatasets,,uploadBinaryDataToDatasets
## HACK: No proto for these (and/or inherited in Go SDK), manually mapping:
data_manager,Reconfigure,No,,Reconfigure,,
Expand Down Expand Up @@ -441,6 +440,7 @@ billing,GetOrgBillingInformation,,get_org_billing_information,GetOrgBillingInfor
billing,GetInvoicesSummary,,get_invoices_summary,GetInvoicesSummary,,getInvoicesSummary
billing,GetInvoicePDF,,get_invoice_pdf,GetInvoicePDF,,getInvoicePdf
billing,CreateInvoiceAndChargeImmediately,,create_invoice_and_charge_immediately,,,
billing,ChargeOrganization,,charge_organization,,,

## Data
data,GetLatestTabularData,,get_latest_tabular_data,GetLatestTabularData,getLatestTabularData,getLatestTabularData
Expand Down Expand Up @@ -469,6 +469,13 @@ data,CreateDataPipeline,,create_data_pipeline,CreateDataPipeline,,createDataPipe
data,DeleteDataPipeline,,delete_data_pipeline,DeleteDataPipeline,,deleteDataPipeline
data,ListDataPipelineRuns,,list_data_pipeline_runs,ListDataPipelineRuns,,listDataPipelineRuns
data,RenameDataPipeline,,,RenameDataPipeline,,
data,AddTagsToBinaryDataByFilter,,add_tags_to_binary_data_by_filter,,,
data,CreateBinaryDataSignedURL,,create_binary_data_signed_url,,,
data,CreateIndex,,create_index,,,
data,DeleteIndex,,delete_index,,,
data,ListIndexes,,list_indexes,,,
data,RemoveTagsFromBinaryDataByFilter,,remove_tags_from_binary_data_by_filter,,,
data,UpdateBoundingBox,,update_bounding_box,,,

## Dataset
dataset,CreateDataset,,create_dataset,CreateDataset,createDataset,createDataset
Expand Down
3 changes: 3 additions & 0 deletions .htmltest-local.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ IgnoreURLs:
- "rtk2go.com"
IgnoreDirs:
- "lib"
- "operate"
- "manage"
- "data-ai"
CacheExpires: "6h"
# IgnoreDirs: - if we need to ever ignore files
CheckExternal: false
2 changes: 1 addition & 1 deletion assets/scss/_sidebar-tree.scss
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ li .indent {
}

.ul-2 > li:not(:last-child) {
padding-bottom: 8px;
padding-bottom: 2px;
}
}

Expand Down
120 changes: 47 additions & 73 deletions assets/scss/_styles_project.scss
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,20 @@ h7,

.td-content > h3 {
margin-bottom: 0.667rem;
margin-top: 1.5rem;
}

// The float:left on ol > li::before creates floats that escape the ol's
// block formatting context. Since h3 has clear:both, it clears past those
// floats, creating an oversized gap. flow-root contains the floats in
// the ol's own BFC so they don't affect adjacent elements.
// Zero the last li's margin-bottom because flow-root prevents it from
// collapsing with the ol's margin, which would add unwanted extra space.
.td-content > ol {
display: flow-root;
}
.td-content > ol > li:last-child {
margin-bottom: 0;
}

/* END Adjust Heading sizes*/
Expand Down Expand Up @@ -3191,93 +3205,34 @@ nav {
background-color: rgb(232, 232, 234);
}

.second-nav {
min-width: 100%;
padding: 0.25rem 1rem;
border-top: 1px solid #e4e4e6;
border-bottom: 1px solid #e4e4e6;
}

.second-nav > ul {
padding: 0;
padding-left: 0.25rem;
margin: 0;
}

.second-nav > ul > li {
display: inline-block;
font-family:
"Public Sans",
-apple-system,
BlinkMacSystemFont,
"Segoe UI",
Roboto,
"Helvetica Neue",
Arial,
sans-serif,
"Apple Color Emoji",
"Segoe UI Emoji",
"Segoe UI Symbol";
font-size: 0.875rem;
line-height: 1.25rem;
margin: 5px 0px;
font-weight: 300;
}

.second-nav > ul > li > a {
color: #333;
padding: 5px 0.5rem;
margin-right: 0.5rem;
}

.second-nav > ul > li > a:hover,
.second-nav > ul > li > a.active-path {
text-decoration: none;
background-color: rgba(0, 0, 0, 0.03);
border-radius: 4px;
color: #282829;
font-weight: 500;
}

@media (min-width: 768px) {
.td-main main {
padding-top: 7.5rem;
padding-top: 5rem;
}
}

.td-navbar {
min-height: 3.5rem;
}

@media (max-width: 767px) {
.second-nav {
display: none;
}
}

@media (min-width: 992px) {
.d-lg-block {
display: flex !important;
}
}

span.section-overview {
display: none;
}

ul > li.nav-fold > span > span.link-and-toggle {
display: flex !important;
flex-direction: row;
}

ul > li.nav-fold:last-child {
ul.ul-0 > li.nav-fold:last-child {
padding-bottom: 0.5rem;
}

@media (min-width: 768px) {
.ul-1 > li.nav-fold.hide-if-desktop {
display: none;
}

#landing-page-sidebar {
display: none;
Expand All @@ -3290,24 +3245,38 @@ ul > li.nav-fold:last-child {

li.nav-fold.header-only > span > span {
color: #000000;
margin-top: 1rem;
margin-top: 0.25rem;
}

li.nav-fold.header-only:first-child > span > a {
margin-top: 0.5rem;
margin-top: 0.25rem;
}

li.nav-fold.header-only * li {
text-transform: unset;
}

li > span > ul.ul-2 {
padding-left: 0;
li.nav-top-section > span > span.link-and-toggle > a,
li.nav-top-section > a {
text-transform: uppercase;
font-size: 0.75rem;
letter-spacing: 0.05em;
font-weight: 600;
color: #666;
}

li.nav-top-section > span > ul.ul-2 {
margin-left: 0.5rem;
}

ul.ul-2 > li > span > span {
color: #282829;
font-weight: 600;
font-weight: 400;
font-size: 0.833rem;
}

ul.ul-2 > li > a {
font-size: 0.833rem;
}

li.header-only > span > ul.ul-3 {
Expand All @@ -3320,21 +3289,26 @@ ul > li.nav-fold:last-child {
padding-left: 0.5rem;
}

span.section-overview-title {
display: none;
}

.ul-1 > li.nav-fold > span > span.link-and-toggle {
display: none !important;
}

.td-sidebar-nav__section .ul-1 ul.ul-2 {
padding-left: 0;
padding-left: 0.5rem;
border-left: 1px solid #e4e4e6;
margin-left: 0.5rem;
}

.td-sidebar-nav__section ul.ul-1 {
margin-left: 0;
}

li.nav-top-section {
margin-bottom: 0.5rem;
border-bottom: 1px solid #e4e4e6;
}

li.nav-top-section:last-child {
border-bottom: none;
}
}

.menu-toggle {
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -115,9 +115,9 @@ breadcrumb_disable = false
footer_about_disable = false
navbar_logo = true
navbar_translucent_over_cover_disable = false
sidebar_menu_compact = true # When true, the section headings work like an accordian.
sidebar_menu_compact = true # When true, only the active path is expanded in the sidebar.
sidebar_search_disable = true
ul_show = 3 # Always expand every first level section of the sidenav -- due to tabs, our 'first level' is 3
ul_show = 1 # Show only top-level sections; deeper levels collapse unless active

[params.ui.feedback]
enable = true
Expand Down
73 changes: 2 additions & 71 deletions docs/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,14 @@ title: "Viam Documentation"
linkTitle: "Viam Documentation"
description: "Viam integrates with hardware and software on any device. Use AI, machine learning, and more to make any machine smarter — for one machine to thousands."
weight: 1
no_list: true
type: "docs"
noToc: true
hide_feedback: true
layout: "empty"
canonical: "/what-is-viam/"
sitemap:
priority: 1.0
outputs:
- html
- REDIR
imageAlt: "/general/understand.png"
images: ["/general/understand.png"]
noedit: true
date: "2024-09-17"
updated: "2024-10-11"
Expand All @@ -26,69 +23,3 @@ aliases:
- "/get-started/"
- "/platform/"
---

<div class="max-page">
<div class="hero-container">
<div class="hero-text">
<h1>Viam Documentation</h1>
<p>
Viam integrates with hardware and software on <b>any device</b> in the physical world. Once you <a href="/operate/install/setup/">set up your machines</a>, you can use Viam SDKs to program your devices and connected hardware. Everything is managed in the cloud and you can use machine learning, data management, and much more for your projects.
</p>
<div class="cards max-page">
<div class="front-card-container">
<div class="hover-card primary">
<a href="/operate/hello-world/what-is-viam/" class="noanchor">
<div>
<p>Get started</p>
</div>
</a>
</div>
<div class="cta secondary">
<a href="/dev/" class="noanchor"><div>
<p>APIs & CLI →</p></div>
</a>
</div>
</div>
</div>
</div>
<img src="docs-hero-image.png" alt="App illustration" class="hero">
</div>
</div>
<br>

<!-- Need to use upside down logic because using Subsequent-sibling combinator -->
<div class="max-page gray-container">
<h2 id="platform">The Viam platform
<div class="copied" id="copied-platform" aria-hidden="true">
<div class="copied-notification" id="copied-platform-text"></div>
</div>
</h2>
<p> Viam allows you to control and program any sensor, actuator or other hardware that is connected to a device. The Viam platform offers builtin capabilities to capture data from devices to the cloud, to build and deploy machine learning models, to alert on problems, and much more. With the connection to the cloud, you can configure, control, and manage your devices from anywhere.</p>
<br>
<div class="imgcontcenter">
<div class="img-overlay-wrap aligncenter">
<img src="platform/platform-all.svg" alt="Platform diagram" id="fleet-platform-all" class="aligncenter overview" style="width:800px;height:auto" >
<img src="platform/platform-build-all.svg" alt="Platform diagram with connect elements highlighted" class="aligncenter overlay-platform" id="build-platform" style="width:800px;height:auto" loading="lazy" >
<img src="platform/platform-data-all.svg" alt="Platform diagram with apps element highlighted" class="aligncenter overlay-platform" id="data-platform" style="width:800px;height:auto" loading="lazy" >
<img src="platform/platform-fleet-all.svg" alt="Platform diagram with motion elements highlighted" class="aligncenter overlay-platform" id="fleet-platform" style="width:800px;height:auto" loading="lazy" >
</div>
</div>

<br>

<div class="three-cards hoveraction">

<div class="col hover-card build-platform">
<div><span><h3>Build & integrate</h3><p>To get started, install Viam on any device and integrate your hardware. Then you can control your device and any attached physical hardware securely from anywhere in the world.</p></span><p><a href="operate/">Learn more</a></p></div>
</div>

<div class="col hover-card data-platform">
<div><span><h3>Work with Data and AI</h3><p>Viam's data and AI capabilities enable you to capture and sync or upload data, build a dataset, train and deploy ML models, and run inference with computer vision. Then, you can act or alert on inferences.</p></span><p><a href="data-ai/">Learn more</a></p></div>
</div>

<div class="col hover-card fleet-platform">
<div><span><h3>Deploy, manage, and troubleshoot</h3><p>Viam’s fleet management tooling allows you to remotely deploy and manage software on any fleet of devices. You can monitor all connected devices and troubleshoot any issues - from anywhere.</p></span><p><a href="manage/">Learn more</a></p></div>
</div>

</div>
</div>
20 changes: 20 additions & 0 deletions docs/build-apps/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
linkTitle: "Build apps"
title: "Build apps"
weight: 65
layout: "docs"
type: "docs"
no_list: true
manualLink: "/build-apps/overview/"
description: "Build client apps that talk to your Viam machines and the Viam cloud."
date: "2026-04-10"
aliases:
# The following aliases are deferred. The pages listed still exist in
# the hidden operate/control/ and tutorials/control/ sections. Activate
# these aliases in the PR that deletes the old pages.
- /operate/control/web-app/
- /operate/control/mobile-app/
- /operate/control/viam-applications/
- /operate/control/kiosk-app/
- /operate/control/voice-app/
---
Loading
Loading