openapi.json

{ "openapi": "3.1.0", "info": { "title": "Arlo API", "version": "1.0.0", "summary": "Governed agent runs, memory, skills, files, and the public content API for arlo.sh.", "description": "Arlo exposes two surfaces.\n\n**Public (https://www.arlo.sh)\*\* — unauthenticated, read-only, tagged `Public`. Product facts, the pricing model, and the full published-content corpus. No credentials.\n\n**Workspace (https://api.arlo.sh)\*\* — everything else. Send `Authorization: Bearer ` and `X-Arlo-Workspace-Id: `. Responses are bare (lists as `{ items: [...] }`, resources as the object, mutations as `{ ok: true, ... }`); errors are `{ ok: false, error, escalation? }` with a matching HTTP status.\n\nRate limits are not yet enforced per workspace; when they are, they will be reported in `X-RateLimit-*` response headers.", "contact": { "name": "Arlo", "email": "idan@arlo.sh", "url": "https://www.arlo.sh/contact" }, "termsOfService": "https://www.arlo.sh/terms" }, "externalDocs": { "description": "Arlo developer documentation", "url": "https://www.arlo.sh/docs" }, "webhooks": { "session.completed": { "post": { "operationId": "webhook_session_completed", "summary": "Webhook: session.completed", "security": [], "description": "A session finished successfully. Delivered as a POST to the workspace's configured webhook URL.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEnvelope" }, "examples": { "default": { "value": { "event_id": "evt_01J8", "type": "session.completed", "workspace_id": "ws_acme", "created_at": "2026-06-04T17:02:00Z", "data": {} } } } } } }, "responses": { "200": { "description": "Acknowledged. Return 2xx within 5s or the delivery is retried." } } } }, "session.failed": { "post": { "operationId": "webhook_session_failed", "summary": "Webhook: session.failed", "security": [], "description": "A session ended with a typed error. Delivered as a POST to the workspace's configured webhook URL.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEnvelope" }, "examples": { "default": { "value": { "event_id": "evt_01J8", "type": "session.failed", "workspace_id": "ws_acme", "created_at": "2026-06-04T17:02:00Z", "data": {} } } } } } }, "responses": { "200": { "description": "Acknowledged. Return 2xx within 5s or the delivery is retried." } } } }, "skill.proposed": { "post": { "operationId": "webhook_skill_proposed", "summary": "Webhook: skill.proposed", "security": [], "description": "Arlo proposed a skill draft or revision. Delivered as a POST to the workspace's configured webhook URL.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEnvelope" }, "examples": { "default": { "value": { "event_id": "evt_01J8", "type": "skill.proposed", "workspace_id": "ws_acme", "created_at": "2026-06-04T17:02:00Z", "data": {} } } } } } }, "responses": { "200": { "description": "Acknowledged. Return 2xx within 5s or the delivery is retried." } } } }, "skill.updated": { "post": { "operationId": "webhook_skill_updated", "summary": "Webhook: skill.updated", "security": [], "description": "A skill version became active. Delivered as a POST to the workspace's configured webhook URL.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEnvelope" }, "examples": { "default": { "value": { "event_id": "evt_01J8", "type": "skill.updated", "workspace_id": "ws_acme", "created_at": "2026-06-04T17:02:00Z", "data": {} } } } } } }, "responses": { "200": { "description": "Acknowledged. Return 2xx within 5s or the delivery is retried." } } } }, "approval.requested": { "post": { "operationId": "webhook_approval_requested", "summary": "Webhook: approval.requested", "security": [], "description": "A governed action is waiting for a decision. Delivered as a POST to the workspace's configured webhook URL.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEnvelope" }, "examples": { "default": { "value": { "event_id": "evt_01J8", "type": "approval.requested", "workspace_id": "ws_acme", "created_at": "2026-06-04T17:02:00Z", "data": {} } } } } } }, "responses": { "200": { "description": "Acknowledged. Return 2xx within 5s or the delivery is retried." } } } }, "approval.decided": { "post": { "operationId": "webhook_approval_decided", "summary": "Webhook: approval.decided", "security": [], "description": "An approval was allowed or denied. Delivered as a POST to the workspace's configured webhook URL.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEnvelope" }, "examples": { "default": { "value": { "event_id": "evt_01J8", "type": "approval.decided", "workspace_id": "ws_acme", "created_at": "2026-06-04T17:02:00Z", "data": {} } } } } } }, "responses": { "200": { "description": "Acknowledged. Return 2xx within 5s or the delivery is retried." } } } }, "audit.alert": { "post": { "operationId": "webhook_audit_alert", "summary": "Webhook: audit.alert", "security": [], "description": "Audit verification or policy monitoring raised an alert. Delivered as a POST to the workspace's configured webhook URL.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEnvelope" }, "examples": { "default": { "value": { "event_id": "evt_01J8", "type": "audit.alert", "workspace_id": "ws_acme", "created_at": "2026-06-04T17:02:00Z", "data": {} } } } } } }, "responses": { "200": { "description": "Acknowledged. Return 2xx within 5s or the delivery is retried." } } } }, "file.created": { "post": { "operationId": "webhook_file_created", "summary": "Webhook: file.created", "security": [], "description": "A workspace file or version was created. Delivered as a POST to the workspace's configured webhook URL.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEnvelope" }, "examples": { "default": { "value": { "event_id": "evt_01J8", "type": "file.created", "workspace_id": "ws_acme", "created_at": "2026-06-04T17:02:00Z", "data": {} } } } } } }, "responses": { "200": { "description": "Acknowledged. Return 2xx within 5s or the delivery is retried." } } } }, "memory.proposed": { "post": { "operationId": "webhook_memory_proposed", "summary": "Webhook: memory.proposed", "security": [], "description": "Arlo proposed a memory write. Delivered as a POST to the workspace's configured webhook URL.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEnvelope" }, "examples": { "default": { "value": { "event_id": "evt_01J8", "type": "memory.proposed", "workspace_id": "ws_acme", "created_at": "2026-06-04T17:02:00Z", "data": {} } } } } } }, "responses": { "200": { "description": "Acknowledged. Return 2xx within 5s or the delivery is retried." } } } }, "dream.completed": { "post": { "operationId": "webhook_dream_completed", "summary": "Webhook: dream.completed", "security": [], "description": "Daily organization finished. Delivered as a POST to the workspace's configured webhook URL.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEnvelope" }, "examples": { "default": { "value": { "event_id": "evt_01J8", "type": "dream.completed", "workspace_id": "ws_acme", "created_at": "2026-06-04T17:02:00Z", "data": {} } } } } } }, "responses": { "200": { "description": "Acknowledged. Return 2xx within 5s or the delivery is retried." } } } }, "automation_suggestion.created": { "post": { "operationId": "webhook_automation_suggestion_created", "summary": "Webhook: automation_suggestion.created", "security": [], "description": "Arlo suggested a recurring automation. Delivered as a POST to the workspace's configured webhook URL.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEnvelope" }, "examples": { "default": { "value": { "event_id": "evt_01J8", "type": "automation_suggestion.created", "workspace_id": "ws_acme", "created_at": "2026-06-04T17:02:00Z", "data": {} } } } } } }, "responses": { "200": { "description": "Acknowledged. Return 2xx within 5s or the delivery is retried." } } } }, "mini_app.proposed": { "post": { "operationId": "webhook_mini_app_proposed", "summary": "Webhook: mini_app.proposed", "security": [], "description": "Arlo proposed a team mini app. Delivered as a POST to the workspace's configured webhook URL.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEnvelope" }, "examples": { "default": { "value": { "event_id": "evt_01J8", "type": "mini_app.proposed", "workspace_id": "ws_acme", "created_at": "2026-06-04T17:02:00Z", "data": {} } } } } } }, "responses": { "200": { "description": "Acknowledged. Return 2xx within 5s or the delivery is retried." } } } }, "mini_app.published": { "post": { "operationId": "webhook_mini_app_published", "summary": "Webhook: mini_app.published", "security": [], "description": "A team mini app was published. Delivered as a POST to the workspace's configured webhook URL.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEnvelope" }, "examples": { "default": { "value": { "event_id": "evt_01J8", "type": "mini_app.published", "workspace_id": "ws_acme", "created_at": "2026-06-04T17:02:00Z", "data": {} } } } } } }, "responses": { "200": { "description": "Acknowledged. Return 2xx within 5s or the delivery is retried." } } } }, "meeting.completed": { "post": { "operationId": "webhook_meeting_completed", "summary": "Webhook: meeting.completed", "security": [], "description": "Meeting notes and action items are ready. Delivered as a POST to the workspace's configured webhook URL.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEnvelope" }, "examples": { "default": { "value": { "event_id": "evt_01J8", "type": "meeting.completed", "workspace_id": "ws_acme", "created_at": "2026-06-04T17:02:00Z", "data": {} } } } } } }, "responses": { "200": { "description": "Acknowledged. Return 2xx within 5s or the delivery is retried." } } } }, "call.completed": { "post": { "operationId": "webhook_call_completed", "summary": "Webhook: call.completed", "security": [], "description": "A phone check-in completed. Delivered as a POST to the workspace's configured webhook URL.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEnvelope" }, "examples": { "default": { "value": { "event_id": "evt_01J8", "type": "call.completed", "workspace_id": "ws_acme", "created_at": "2026-06-04T17:02:00Z", "data": {} } } } } } }, "responses": { "200": { "description": "Acknowledged. Return 2xx within 5s or the delivery is retried." } } } } }, "servers": [
{
"url": "https://api.arlo.sh",\ "description": "Workspace API (bearer token required)"
},
{
"url": "https://www.arlo.sh",\ "description": "Public site API (no credentials)"
}
], "tags": [
{
"name": "Public",
"description": "Unauthenticated, read-only endpoints served from www.arlo.sh. No credentials, no workspace."
},
{
"name": "Identity",
"description": "Who the caller is and which workspace they are acting in."
},
{
"name": "Integrations",
"description": "Connected apps and the scope each connection was made at."
},
{
"name": "Runs",
"description": "Execute a governed agent run, one-shot or streamed."
},
{
"name": "Tasks",
"description": "Background work Arlo is running or has finished, with its execution trace."
},
{
"name": "Sessions",
"description": "Conversations and their messages."
},
{
"name": "Traces",
"description": "The per-run execution record: every tool call, source, and approval, in order."
},
{
"name": "Memories",
"description": "Individual memory records, and the proposals waiting to become them."
},
{
"name": "Skills",
"description": "Reviewed, versioned procedures Arlo follows for recurring work."
},
{
"name": "Files",
"description": "Workspace files and their versions."
},
{
"name": "Library",
"description": "Documents and artifacts Arlo produced, or was given to work from."
},
{
"name": "Automations",
"description": "Recurring, scheduled work."
},
{
"name": "Mini apps",
"description": "Small team apps Arlo proposes and publishes."
},
{
"name": "Team",
"description": "Workspace members, their roles, and invitations."
},
{
"name": "Approvals",
"description": "Governed actions waiting on a decision, and the decisions themselves."
},
{
"name": "Escalations",
"description": "Work Arlo handed back to a human, and the reason it stopped."
},
{
"name": "Billing",
"description": "Credits, balance, and usage."
},
{
"name": "Onboarding",
"description": "First-run setup: connecting a channel and the workspace's first integrations."
}
], "paths": { "/api/v1": { "get": { "tags": [
"Public"
], "operationId": "getPublicApiIndex", "summary": "Discover the public API", "description": "Returns the machine-readable index of everything on arlo.sh an agent can fetch without credentials: the endpoints below, the OpenAPI document, the Markdown mirrors, and the documentation URLs. Start here.", "servers": [
{
"url": "https://www.arlo.sh"\ }
], "security": [], "parameters": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "name": { "type": "string" }, "version": { "type": "string" }, "documentation": { "type": "string" }, "openapi": { "type": "string" }, "endpoints": { "type": "array", "items": { "type": "object", "properties": { "method": { "type": "string" }, "path": { "type": "string" }, "summary": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "name": "Arlo public API", "version": "1.0.0", "documentation": "https://www.arlo.sh/docs", "openapi": "https://www.arlo.sh/openapi.json", "endpoints": [
{
"method": "GET",
"path": "/api/v1/product",
"summary": "Product facts, channels, and the pricing model"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/api/v1/status": { "get": { "tags": [
"Public"
], "operationId": "getPublicStatus", "summary": "Check that the public API is serving", "description": "A liveness probe for the public surface. Returns `ok: true` plus the deployed build id. It reports on the marketing site only and says nothing about a workspace or the authenticated API at api.arlo.sh.", "servers": [
{
"url": "https://www.arlo.sh"\ }
], "security": [], "parameters": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "service": { "type": "string" }, "status": { "type": "string" }, "build": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "service": "arlo-web", "status": "operational", "build": "2f6839a" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/api/v1/product": { "get": { "tags": [
"Public"
], "operationId": "getProductFacts", "summary": "Product facts, channels, and the pricing model", "description": "The structured version of what /llms.txt says in prose: what Arlo does, which channels it runs in, the top integration categories, entity disambiguation (this Arlo is not the camera brand), and the full prepaid-credit pricing model with every purchase amount and per-capability rate.", "servers": [
{
"url": "https://www.arlo.sh"\ }
], "security": [], "parameters": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "name": { "type": "string" }, "summary": { "type": "string" }, "channels": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "page": { "type": "string" } }, "additionalProperties": true } }, "pricing": { "type": "object", "properties": { "model": { "type": "string" }, "credits_per_usd": { "type": "integer" }, "minimum_purchase_usd": { "type": "integer" }, "credit_expiry_months": { "type": "integer" } }, "additionalProperties": true } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "name": "Arlo", "summary": "Arlo is an AI colleague that works inside the tools your team already uses…", "channels": [
{
"id": "imessage",
"name": "iMessage and SMS",
"page": "/imessage"
}
], "pricing": { "model": "prepaid_credits", "credits_per_usd": 400, "minimum_purchase_usd": 50, "credit_expiry_months": 12 } } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/api/v1/content": { "get": { "tags": [
"Public"
], "operationId": "listPublicContent", "summary": "List and search the published guides", "description": "Every published glossary entry, use case, comparison, and blog post, with its title, description, answer-first lead, cluster, and the URL of its Markdown mirror. Filter by `kind` and free-text search with `q` (matched against title, description, and answer).", "servers": [
{
"url": "https://www.arlo.sh"\ }
], "security": [], "parameters": [
{
"name": "kind",
"in": "query",
"required": false,
"description": "Filter by content type: `glossary`, `use-case`, `compare`, or `blog`.",
"schema": {
"type": "string"
}
},
{
"name": "q",
"in": "query",
"required": false,
"description": "Case-insensitive search over title, description, and answer lead.",
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"description": "Maximum items to return, 1-200 (default 100).",
"schema": {
"type": "integer"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "count": { "type": "integer" }, "items": { "type": "array", "items": { "type": "object", "properties": { "kind": { "type": "string" }, "slug": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "answer": { "type": "string" }, "cluster": { "type": "string" }, "updated": { "type": "string" }, "url": { "type": "string" }, "markdown_url": { "type": "string" }, "read_minutes": { "type": "integer" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "count": 1, "items": [
{
"kind": "glossary",
"slug": "ai-colleague",
"title": "What is an AI colleague?",
"description": "An AI colleague works where your team already works…",
"answer": "An AI colleague is an AI system that works inside your existing tools…",
"cluster": "ai-colleague",
"updated": "2026-07-02",
"url": "https://www.arlo.sh/glossary/ai-colleague",\ "markdown_url": "https://www.arlo.sh/glossary/ai-colleague/md",\ "read_minutes": 6
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/api/v1/content/{kind}/{slug}": { "get": { "tags": [
"Public"
], "operationId": "getPublicContentDoc", "summary": "Get one guide, including its Markdown body", "description": "One published page in full: metadata, the answer-first lead an answer engine should quote, its extracted FAQ pairs, and the complete raw Markdown body. This is the whole page in one JSON fetch, with no HTML to strip.", "servers": [
{
"url": "https://www.arlo.sh"\ }
], "security": [], "parameters": [
{
"name": "kind",
"in": "path",
"required": true,
"description": "Content type: `glossary`, `use-case`, `compare`, or `blog`.",
"schema": {
"type": "string"
}
},
{
"name": "slug",
"in": "path",
"required": true,
"description": "The page slug, e.g. `ai-colleague`.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "item": { "type": "object", "properties": { "kind": { "type": "string" }, "slug": { "type": "string" }, "title": { "type": "string" }, "answer": { "type": "string" }, "url": { "type": "string" }, "markdown_url": { "type": "string" }, "faqs": { "type": "array", "items": { "type": "object", "properties": { "q": { "type": "string" }, "a": { "type": "string" } }, "additionalProperties": true } }, "body": { "type": "string" } }, "additionalProperties": true } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "item": { "kind": "glossary", "slug": "ai-colleague", "title": "What is an AI colleague?", "answer": "An AI colleague is an AI system that works inside your existing tools…", "url": "https://www.arlo.sh/glossary/ai-colleague", "markdown_url": "https://www.arlo.sh/glossary/ai-colleague/md", "faqs": [
{
"q": "Is an AI colleague the same as a chatbot?",
"a": "No…"
}
], "body": "## Why the category exists\n…" } } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/me": { "get": { "tags": [
"Identity"
], "operationId": "getCurrentUser", "summary": "Get the current user and workspace", "description": "Returns the authenticated user and the active workspace resolved from the bearer token and `X-Arlo-Workspace-Id` header. Use this to confirm auth and discover the caller's role.", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "workspace": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "slug": { "type": "string" }, "role": { "type": "string" } }, "additionalProperties": true }, "user": { "type": "object", "properties": { "id": { "type": "string" }, "email": { "type": "string" }, "name": { "type": "string" } }, "additionalProperties": true } }, "additionalProperties": true }, "examples": { "default": { "value": { "workspace": { "id": "ws_acme", "name": "Acme", "slug": "acme", "role": "owner" }, "user": { "id": "user_ada", "email": "ada@acme.com", "name": "Ada Lovelace" } } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/workspaces": { "get": { "tags": [
"Identity"
], "operationId": "listWorkspaces", "summary": "List the caller's workspaces", "description": "List the caller's workspaces", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "workspaces": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "slug": { "type": "string" }, "role": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "workspaces": [
{
"id": "ws_acme",
"name": "Acme",
"slug": "acme",
"role": "owner"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/dashboard": { "get": { "tags": [
"Identity"
], "operationId": "getDashboard", "summary": "Get the workspace dashboard summary", "description": "Get the workspace dashboard summary", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "workspace": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" } }, "additionalProperties": true }, "scheduled_tasks": { "type": "array", "items": {} }, "completed_tasks": { "type": "array", "items": {} } }, "additionalProperties": true }, "examples": { "default": { "value": { "workspace": { "id": "ws_acme", "name": "Acme" }, "scheduled_tasks": [], "completed_tasks": [] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/activity": { "get": { "tags": [
"Identity"
], "operationId": "listActivity", "summary": "List the workspace activity feed", "description": "Admin and owner roles only. Returns recent workspace-wide activity.", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"description": "Maximum items to return (default 50).",
"schema": {
"type": "integer"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "kind": { "type": "string" }, "created_at": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "items": [
{
"id": "act_1",
"kind": "session.completed",
"created_at": "2026-06-04T17:02:00Z"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/integrations/composio/toolkits/{toolkit_slug}/permissions": { "get": { "tags": [
"Integrations"
], "operationId": "getComposioToolkitPermissions", "summary": "List an integration's available permissions", "description": "List an integration's available permissions", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "toolkit_slug",
"in": "path",
"required": true,
"description": "App toolkit slug, e.g. `gmail`.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "toolkit_slug": { "type": "string" }, "tools": { "type": "array", "items": { "type": "object", "properties": { "slug": { "type": "string" }, "name": { "type": "string" }, "capability": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "toolkit_slug": "gmail", "tools": [
{
"slug": "GMAIL_FETCH_EMAILS",
"name": "Fetch emails",
"capability": "read"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/runs": { "post": { "tags": [
"Runs"
], "operationId": "createRun", "summary": "Run Arlo once and get the reply", "description": "Executes a single, governed agent run from a natural-language instruction and returns the reply plus the tool trajectory. This is the simplest way to call Arlo programmatically — the same loop the CLI's `arlo run` uses.", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "text": { "type": "string", "description": "The natural-language instruction for Arlo." } }, "required": [
"text"
], "additionalProperties": true }, "examples": { "default": { "value": { "text": "Summarize the Acme renewal thread and flag risks." } } } } } }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "session_id": { "type": "string" }, "reply_text": { "type": "string" }, "iterations": { "type": "integer" }, "tool_calls": { "type": "integer" }, "tool_trajectory": { "type": "array", "items": { "type": "object", "properties": { "tool": { "type": "string" }, "status": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "session_id": "sess_8x21", "reply_text": "Acme's renewal is up 12% with a new SSO line item…", "iterations": 3, "tool_calls": 5, "tool_trajectory": [
{
"tool": "memory.search",
"status": "ok"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/chat/stream": { "post": { "tags": [
"Runs"
], "operationId": "streamChat", "summary": "Stream a chat conversation (SSE)", "description": "Streams a multi-turn conversation back as Server-Sent Events. Each event is a JSON line: `text_delta` chunks build the reply, terminated by a `done` event. Send the full message history on each call.", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "messages": { "type": "array", "description": "Ordered conversation turns: `{ role: \"user\" | \"assistant\" | \"system\", content: string }`." } }, "required": [
"messages"
], "additionalProperties": true }, "examples": { "default": { "value": { "messages": [
{
"role": "user",
"content": "What changed on the Acme account this week?"
}
] } } } } } }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "string" }, "examples": { "default": { "value": "data: {\"type\":\"text_delta\",\"text\":\"Three things changed…\"}\n\ndata: {\"type\":\"done\"}" } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/tasks": { "get": { "tags": [
"Tasks"
], "operationId": "listTasks", "summary": "List background tasks", "description": "List background tasks", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "status",
"in": "query",
"required": false,
"description": "Filter by status: `all`, `pending`, `running`, `done`, or `failed`.",
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"description": "Maximum items to return (default 50).",
"schema": {
"type": "integer"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "status": { "type": "string" }, "created_at": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "items": [
{
"id": "task_19",
"title": "Vendor renewal brief",
"status": "Succeeded",
"created_at": "2026-06-04T16:40:00Z"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/tasks/{task_id}/timeline": { "get": { "tags": [
"Tasks"
], "operationId": "getTaskTimeline", "summary": "Get a task with its full execution trace", "description": "Returns the task plus a per-run timeline of agent messages and tool calls. The `segments` array is only populated for admins and owners (`can_view_trace`).", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "task_id",
"in": "path",
"required": true,
"description": "The task id.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "task_id": { "type": "string" }, "title": { "type": "string" }, "status": { "type": "string" }, "cost_cents": { "type": "integer" }, "tokens": { "type": "integer" }, "can_view_trace": { "type": "boolean" }, "segments": { "type": "array", "items": { "type": "object", "properties": { "run_id": { "type": "string" }, "model": { "type": "string" }, "cost_cents": { "type": "integer" }, "tokens": { "type": "integer" }, "events": { "type": "array", "items": {} } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "task_id": "task_19", "title": "Vendor renewal brief", "status": "Succeeded", "cost_cents": 14, "tokens": 38211, "can_view_trace": true, "segments": [
{
"run_id": "run_1",
"model": "claude-opus-4-8",
"cost_cents": 14,
"tokens": 38211,
"events": []
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/sessions": { "get": { "tags": [
"Sessions"
], "operationId": "listSessions", "summary": "List live-chat sessions", "description": "List live-chat sessions", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"description": "Maximum items to return (default 50).",
"schema": {
"type": "integer"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "surface": { "type": "string" }, "status": { "type": "string" }, "created_at": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "items": [
{
"id": "sess_8x21",
"surface": "slack",
"status": "Done",
"created_at": "2026-06-04T15:00:00Z"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/sessions/{session_id}/timeline": { "get": { "tags": [
"Sessions"
], "operationId": "getSessionTimeline", "summary": "Get a session with its full trace", "description": "Get a session with its full trace", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "session_id",
"in": "path",
"required": true,
"description": "The session id.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "session_id": { "type": "string" }, "surface": { "type": "string" }, "status": { "type": "string" }, "cost_cents": { "type": "integer" }, "tokens": { "type": "integer" }, "can_view_trace": { "type": "boolean" }, "segments": { "type": "array", "items": {} } }, "additionalProperties": true }, "examples": { "default": { "value": { "session_id": "sess_8x21", "surface": "slack", "status": "Done", "cost_cents": 6, "tokens": 9120, "can_view_trace": true, "segments": [] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/traces/{trace_id}": { "get": { "tags": [
"Traces"
], "operationId": "getTrace", "summary": "Get a raw execution trace", "description": "Admin and owner roles only. Returns the tool-call trace and cost breakdown for a run.", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "trace_id",
"in": "path",
"required": true,
"description": "The trace id.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "trace_id": { "type": "string" }, "cost_cents": { "type": "integer" }, "tokens": { "type": "integer" }, "tool_calls": { "type": "array", "items": {} } }, "additionalProperties": true }, "examples": { "default": { "value": { "trace_id": "trace_42", "cost_cents": 14, "tokens": 38211, "tool_calls": [] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/memories": { "get": { "tags": [
"Memories"
], "operationId": "listMemories", "summary": "List memories the caller can see", "description": "List memories the caller can see", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"description": "Maximum items to return (default 50).",
"schema": {
"type": "integer"
}
},
{
"name": "offset",
"in": "query",
"required": false,
"description": "Pagination offset (default 0).",
"schema": {
"type": "integer"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "scope": { "type": "string" }, "title": { "type": "string" }, "preview": { "type": "string" }, "confidence": { "type": "number" }, "updated_at": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "items": [
{
"id": "mem_7",
"scope": "team",
"title": "Prefers concise status updates",
"preview": "…",
"confidence": 0.82,
"updated_at": "2026-06-03T12:00:00Z"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } }, "post": { "tags": [
"Memories"
], "operationId": "createMemory", "summary": "Create a memory", "description": "Create a memory", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string", "description": "Short title for the memory." }, "body": { "type": "string", "description": "The memory note. Defaults to an empty note." }, "scope": { "type": "string", "description": "`individual` (default), `team`, or `company`." } }, "required": [
"title"
], "additionalProperties": true }, "examples": { "default": { "value": { "title": "Renewal cadence", "body": "Acme renews every January.", "scope": "team" } } } } } }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "item": { "type": "object", "properties": { "id": { "type": "string" }, "scope": { "type": "string" }, "title": { "type": "string" }, "preview": { "type": "string" }, "updated_at": { "type": "string" } }, "additionalProperties": true } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "item": { "id": "mem_8", "scope": "team", "title": "Renewal cadence", "preview": "Acme renews every January.", "updated_at": "2026-06-04T17:10:00Z" } } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/memories/{id}": { "patch": { "tags": [
"Memories"
], "operationId": "updateMemory", "summary": "Update or promote a memory", "description": "Edit a memory's title/body, or change its `scope` to promote it from individual to team or company.", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The memory id.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string", "description": "New title." }, "body": { "type": "string", "description": "New body." }, "scope": { "type": "string", "description": "New scope to promote to." }, "scope_id": { "type": "string", "description": "Target team id when promoting to `team`." } }, "additionalProperties": true }, "examples": { "default": { "value": { "scope": "company" } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } }, "delete": { "tags": [
"Memories"
], "operationId": "deleteMemory", "summary": "Delete a memory", "description": "Delete a memory", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The memory id.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/skills": { "get": { "tags": [
"Skills"
], "operationId": "listSkills", "summary": "List draft and active skills", "description": "List draft and active skills", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "drafts": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" } }, "additionalProperties": true } }, "active": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "drafts": [
{
"id": "skill_3",
"title": "Vendor renewal review"
}
], "active": [
{
"id": "skill_1",
"title": "Daily standup digest"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/skills/{id}": { "patch": { "tags": [
"Skills"
], "operationId": "updateSkill", "summary": "Update a skill", "description": "Update a skill", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The skill id.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string", "description": "New title." }, "body_md": { "type": "string", "description": "New skill body (markdown)." } }, "additionalProperties": true }, "examples": { "default": { "value": { "title": "Vendor renewal review v2" } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "version": { "type": "integer" } }, "additionalProperties": true }, "examples": { "default": { "value": { "id": "skill_3", "title": "Vendor renewal review v2", "version": 2 } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } }, "delete": { "tags": [
"Skills"
], "operationId": "deprecateSkill", "summary": "Deprecate a skill", "description": "Deprecate a skill", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The skill id.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "status": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "id": "skill_3", "status": "deprecated" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/skills/{id}/approve": { "post": { "tags": [
"Skills"
], "operationId": "approveSkill", "summary": "Approve a draft skill", "description": "Approve a draft skill", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The skill id.",
"schema": {
"type": "string"
}
}
], "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "status": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "id": "skill_3", "status": "active" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/skills/{id}/reject": { "post": { "tags": [
"Skills"
], "operationId": "rejectSkill", "summary": "Reject a draft skill", "description": "Reject a draft skill", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The skill id.",
"schema": {
"type": "string"
}
}
], "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "status": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "id": "skill_3", "status": "rejected" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/skills/{id}/promote": { "post": { "tags": [
"Skills"
], "operationId": "promoteSkill", "summary": "Promote a skill's scope", "description": "Promote a skill's scope", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The skill id.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "to_scope": { "type": "string", "description": "`individual`, `team`, or `company`." }, "scope_id": { "type": "string", "description": "Target team id when promoting to `team`." } }, "required": [
"to_scope"
], "additionalProperties": true }, "examples": { "default": { "value": { "to_scope": "company" } } } } } }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/files": { "get": { "tags": [
"Files"
], "operationId": "listFiles", "summary": "List workspace files", "description": "List workspace files", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"description": "Maximum items to return (default 100).",
"schema": {
"type": "integer"
}
},
{
"name": "offset",
"in": "query",
"required": false,
"description": "Pagination offset (default 0).",
"schema": {
"type": "integer"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "scope": { "type": "string" }, "updated_at": { "type": "string" } }, "additionalProperties": true } }, "total": { "type": "integer" } }, "additionalProperties": true }, "examples": { "default": { "value": { "items": [
{
"id": "file_5",
"title": "vendor-renewal.md",
"scope": "team",
"updated_at": "2026-06-04T16:50:00Z"
}
], "total": 1 } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/files/{id}/content": { "get": { "tags": [
"Files"
], "operationId": "getFileContent", "summary": "Get a file's content", "description": "Get a file's content", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The file id.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "content_type": { "type": "string" }, "content": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "id": "file_5", "title": "vendor-renewal.md", "content_type": "text/markdown", "content": "# Vendor renewal…" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/files/{id}/share": { "post": { "tags": [
"Files"
], "operationId": "shareFile", "summary": "Create a temporary share link", "description": "Create a temporary share link", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The file id.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "expires_in_seconds": { "type": "integer", "description": "Link lifetime, 60–604800 (default 604800)." } }, "additionalProperties": true }, "examples": { "default": { "value": { "expires_in_seconds": 86400 } } } } } }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "url": { "type": "string" }, "expires_at": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "url": "https://api.arlo.sh/share/abc123", "expires_at": "2026-06-05T17:10:00Z" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/library": { "get": { "tags": [
"Library"
], "operationId": "listLibrary", "summary": "List the unified library", "description": "A unified view of files, slides, and published mini-app sites, with scope and full-text filtering.", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "kind",
"in": "query",
"required": false,
"description": "`all` (default), `file`, `slide`, or `website`.",
"schema": {
"type": "string"
}
},
{
"name": "scope",
"in": "query",
"required": false,
"description": "`all` (default), `mine`, or `company`.",
"schema": {
"type": "string"
}
},
{
"name": "q",
"in": "query",
"required": false,
"description": "Full-text search term.",
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"description": "Maximum items to return (default 100).",
"schema": {
"type": "integer"
}
},
{
"name": "offset",
"in": "query",
"required": false,
"description": "Pagination offset (default 0).",
"schema": {
"type": "integer"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "title": { "type": "string" }, "scope": { "type": "string" } }, "additionalProperties": true } }, "total": { "type": "integer" } }, "additionalProperties": true }, "examples": { "default": { "value": { "items": [
{
"id": "file_5",
"type": "file",
"title": "vendor-renewal.md",
"scope": "team"
}
], "total": 1 } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/library/{id}/promote": { "post": { "tags": [
"Library"
], "operationId": "promoteLibraryItem", "summary": "Promote an item to the company library", "description": "Promote an item to the company library", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The library item id.",
"schema": {
"type": "string"
}
}
], "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/library/{id}": { "delete": { "tags": [
"Library"
], "operationId": "deleteLibraryItem", "summary": "Soft-delete a library item", "description": "Soft-delete a library item", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The library item id.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/library/{id}/restore": { "post": { "tags": [
"Library"
], "operationId": "restoreLibraryItem", "summary": "Restore a soft-deleted item", "description": "Restore a soft-deleted item", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The library item id.",
"schema": {
"type": "string"
}
}
], "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/integrations": { "get": { "tags": [
"Integrations"
], "operationId": "listIntegrations", "summary": "List connected integrations", "description": "List connected integrations", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "connections": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "toolkit_slug": { "type": "string" }, "scope": { "type": "string" }, "status": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "connections": [
{
"id": "conn_9",
"toolkit_slug": "gmail",
"scope": "individual",
"status": "active"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/integrations/composio/toolkits": { "get": { "tags": [
"Integrations"
], "operationId": "listComposioToolkits", "summary": "Search the app toolkit catalog", "description": "Search the app toolkit catalog", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "search",
"in": "query",
"required": false,
"description": "Filter toolkits by name.",
"schema": {
"type": "string"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"description": "`usage` or `alphabetically`.",
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"description": "Maximum items to return (default 100).",
"schema": {
"type": "integer"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "slug": { "type": "string" }, "name": { "type": "string" }, "categories": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "items": [
{
"slug": "gmail",
"name": "Gmail",
"categories": [
"email"
]
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/integrations/connect": { "post": { "tags": [
"Integrations"
], "operationId": "connectIntegration", "summary": "Connect an integration", "description": "Begins an OAuth connect (returns an Arlo-hosted `redirect_url`) or stores credentials directly for API-key toolkits. `scope` is required and decides who can use the connection.", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "toolkit_slug": { "type": "string", "description": "App toolkit slug, e.g. `gmail`." }, "scope": { "type": "string", "description": "`individual`, `team`, or `company`." }, "team_id": { "type": "string", "description": "Required when `scope` is `team`." }, "label": { "type": "string", "description": "Friendly name for the connection." }, "permission_level": { "type": "string", "description": "`read_only` (default), `read_write`, or `custom`." }, "permission_capabilities": { "type": "array", "description": "Capabilities for custom access: `read`, `write`, `communicate`, and/or `delete`." }, "credentials": { "type": "object", "description": "Key/value credentials for API-key toolkits." } }, "required": [
"toolkit_slug",
"scope"
], "additionalProperties": true }, "examples": { "default": { "value": { "toolkit_slug": "gmail", "scope": "individual", "permission_level": "read_only", "permission_capabilities": [
"read"
] } } } } } }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "redirect_url": { "type": "string" }, "connection_id": { "type": "string" }, "connected_account_id": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "redirect_url": "https://arlo.sh/connect/integration?to=…", "connection_id": "conn_9", "connected_account_id": "ca_3" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/integrations/connections/{connectionId}/accounts/{accountId}/permissions": { "post": { "tags": [
"Integrations"
], "operationId": "changeIntegrationPermissions", "summary": "Change a connected account's permissions", "description": "Updates access immediately for key-based connections. OAuth connections return a reauthorization URL and keep the old connection until the new authorization succeeds.", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "connectionId",
"in": "path",
"required": true,
"description": "The connection id.",
"schema": {
"type": "string"
}
},
{
"name": "accountId",
"in": "path",
"required": true,
"description": "The connected-account id.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "permission_level": { "type": "string", "description": "`read_only`, `read_write`, or `custom`." }, "permission_capabilities": { "type": "array", "description": "Capabilities required when `permission_level` is `custom`." } }, "required": [
"permission_level"
], "additionalProperties": true }, "examples": { "default": { "value": { "permission_level": "read_write", "permission_capabilities": [
"read",
"write",
"communicate"
] } } } } } }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "redirect_url": { "type": "string" }, "connection_id": { "type": "string" }, "connected_account_id": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "redirect_url": "https://arlo.sh/connect/integration?to=…", "connection_id": "conn_9", "connected_account_id": "ca_4" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/integrations/connections/{connectionId}/accounts/{accountId}": { "delete": { "tags": [
"Integrations"
], "operationId": "disconnectIntegration", "summary": "Disconnect an integration", "description": "Disconnect an integration", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "connectionId",
"in": "path",
"required": true,
"description": "The connection id.",
"schema": {
"type": "string"
}
},
{
"name": "accountId",
"in": "path",
"required": true,
"description": "The connected-account id.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/automations": { "get": { "tags": [
"Automations"
], "operationId": "listAutomations", "summary": "List automations", "description": "List automations", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "status": { "type": "string" }, "delivery_kind": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "items": [
{
"id": "auto_4",
"title": "Weekly renewal digest",
"status": "active",
"delivery_kind": "slack"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } }, "post": { "tags": [
"Automations"
], "operationId": "createAutomation", "summary": "Create an automation", "description": "Create an automation", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string", "description": "Automation name." }, "directions": { "type": "string", "description": "Natural-language instructions for each run." }, "delivery_kind": { "type": "string", "description": "`slack`, `imessage`, `email`, `teams`, or `none` (default)." }, "delivery_target": { "type": "string", "description": "Required when `delivery_kind` is `slack`." }, "audience_scope": { "type": "string", "description": "`individual` (default), `team`, or `company`." } }, "required": [
"title",
"directions"
], "additionalProperties": true }, "examples": { "default": { "value": { "title": "Weekly renewal digest", "directions": "Summarize renewals closing in 30 days.", "delivery_kind": "slack", "delivery_target": "#finance" } } } } } }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "id": { "type": "string" }, "title": { "type": "string" }, "status": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "id": "auto_4", "title": "Weekly renewal digest", "status": "active" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/automations/{id}": { "get": { "tags": [
"Automations"
], "operationId": "getAutomation", "summary": "Get an automation", "description": "Get an automation", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The automation id.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "status": { "type": "string" }, "directions": { "type": "string" }, "delivery_kind": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "id": "auto_4", "title": "Weekly renewal digest", "status": "active", "directions": "…", "delivery_kind": "slack" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/automations/{id}/run-now": { "post": { "tags": [
"Automations"
], "operationId": "runAutomationNow", "summary": "Enqueue an on-demand run", "description": "Queues an immediate run. Send an `Idempotency-Key` header to safely retry without duplicating the run.", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The automation id.",
"schema": {
"type": "string"
}
}
], "responses": { "202": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "enqueued": { "type": "boolean" }, "job_id": { "type": "string" }, "fire_token": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "enqueued": true, "job_id": "job_55", "fire_token": "ft_aZ19" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/automations/{id}/runs": { "get": { "tags": [
"Automations"
], "operationId": "listAutomationRuns", "summary": "List an automation's runs", "description": "List an automation's runs", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The automation id.",
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"description": "Maximum items to return (default 50).",
"schema": {
"type": "integer"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "status": { "type": "string" }, "delivered": { "type": "boolean" }, "created_at": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "items": [
{
"id": "run_88",
"status": "done",
"delivered": true,
"created_at": "2026-06-04T09:00:00Z"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/automations/{id}/dry-run": { "post": { "tags": [
"Automations"
], "operationId": "dryRunAutomation", "summary": "Plan a run without side effects", "description": "Plan a run without side effects", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The automation id.",
"schema": {
"type": "string"
}
}
], "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "dry_run_id": { "type": "string" }, "preview": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "dry_run_id": "dry_12", "preview": "Would post a digest to #finance…" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/automations/{id}/schedule": { "post": { "tags": [
"Automations"
], "operationId": "scheduleAutomation", "summary": "Create a recurring schedule", "description": "Create a recurring schedule", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The automation id.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "interval_seconds": { "type": "integer", "description": "Run interval in seconds (minimum 60)." }, "next_run_at": { "type": "string", "description": "ISO timestamp for the first run." } }, "required": [
"interval_seconds"
], "additionalProperties": true }, "examples": { "default": { "value": { "interval_seconds": 604800 } } } } } }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "schedule_id": { "type": "string" }, "interval_seconds": { "type": "integer" }, "next_run_at": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "schedule_id": "sch_7", "interval_seconds": 604800, "next_run_at": "2026-06-11T09:00:00Z" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/automations/{id}/subscribe": { "post": { "tags": [
"Automations"
], "operationId": "subscribeAutomation", "summary": "Trigger an automation on an event", "description": "Trigger an automation on an event", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The automation id.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "event_type": { "type": "string", "description": "Internal event that fires this automation." } }, "required": [
"event_type"
], "additionalProperties": true }, "examples": { "default": { "value": { "event_type": "session.completed" } } } } } }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "subscription_id": { "type": "string" }, "event_type": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "subscription_id": "sub_2", "event_type": "session.completed" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/mini-apps": { "get": { "tags": [
"Mini apps"
], "operationId": "listMiniApps", "summary": "List mini apps", "description": "List mini apps", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"description": "Maximum items to return (default 50).",
"schema": {
"type": "integer"
}
},
{
"name": "offset",
"in": "query",
"required": false,
"description": "Pagination offset (default 0).",
"schema": {
"type": "integer"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "status": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "items": [
{
"id": "app_3",
"title": "Renewal tracker",
"status": "published"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } }, "post": { "tags": [
"Mini apps"
], "operationId": "createMiniApp", "summary": "Propose a mini app", "description": "Propose a mini app", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "template_id": { "type": "string", "description": "Mini-app template id." }, "team_id": { "type": "string", "description": "Owning team id." }, "title": { "type": "string", "description": "Display title." }, "purpose": { "type": "string", "description": "What the app is for." } }, "required": [
"template_id",
"team_id"
], "additionalProperties": true }, "examples": { "default": { "value": { "template_id": "template_checklist_tracker", "team_id": "team_finance", "title": "Renewal tracker" } } } } } }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "data": { "type": "object", "properties": { "id": { "type": "string" }, "status": { "type": "string" } }, "additionalProperties": true } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "data": { "id": "app_3", "status": "proposed" } } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/mini-apps/{id}": { "get": { "tags": [
"Mini apps"
], "operationId": "getMiniApp", "summary": "Get a mini app", "description": "Get a mini app", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The mini-app id.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "status": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "id": "app_3", "title": "Renewal tracker", "status": "published" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/mini-apps/{id}/records": { "get": { "tags": [
"Mini apps"
], "operationId": "listMiniAppRecords", "summary": "List a mini app's records", "description": "List a mini app's records", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The mini-app id.",
"schema": {
"type": "string"
}
},
{
"name": "entity",
"in": "query",
"required": true,
"description": "The entity (table) name.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "vendor": { "type": "string" }, "renews_on": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "items": [
{
"id": "rec_1",
"vendor": "Acme",
"renews_on": "2027-01-01"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } }, "post": { "tags": [
"Mini apps"
], "operationId": "createMiniAppRecord", "summary": "Create a mini-app record", "description": "Create a mini-app record", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The mini-app id.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "entity": { "type": "string", "description": "The entity (table) name." }, "record": { "type": "object", "description": "The record fields." } }, "required": [
"entity",
"record"
], "additionalProperties": true }, "examples": { "default": { "value": { "entity": "vendors", "record": { "vendor": "Acme", "renews_on": "2027-01-01" } } } } } } }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "data": { "type": "object", "properties": { "id": { "type": "string" } }, "additionalProperties": true } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "data": { "id": "rec_1" } } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/mini-apps/{id}/records/{recordId}": { "put": { "tags": [
"Mini apps"
], "operationId": "updateMiniAppRecord", "summary": "Update a mini-app record", "description": "Update a mini-app record", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The mini-app id.",
"schema": {
"type": "string"
}
},
{
"name": "recordId",
"in": "path",
"required": true,
"description": "The record id.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "entity": { "type": "string", "description": "The entity (table) name." }, "patch": { "type": "object", "description": "Fields to update." } }, "required": [
"entity",
"patch"
], "additionalProperties": true }, "examples": { "default": { "value": { "entity": "vendors", "patch": { "renews_on": "2027-02-01" } } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "data": { "type": "object", "properties": { "id": { "type": "string" } }, "additionalProperties": true } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "data": { "id": "rec_1" } } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } }, "delete": { "tags": [
"Mini apps"
], "operationId": "deleteMiniAppRecord", "summary": "Delete a mini-app record", "description": "Delete a mini-app record", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The mini-app id.",
"schema": {
"type": "string"
}
},
{
"name": "recordId",
"in": "path",
"required": true,
"description": "The record id.",
"schema": {
"type": "string"
}
},
{
"name": "entity",
"in": "query",
"required": true,
"description": "The entity (table) name.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/teams": { "get": { "tags": [
"Team"
], "operationId": "listTeams", "summary": "List teams", "description": "List teams", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "teams": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "teams": [
{
"id": "team_finance",
"name": "Finance"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } }, "post": { "tags": [
"Team"
], "operationId": "createTeam", "summary": "Create a team", "description": "Create a team", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Team name." } }, "required": [
"name"
], "additionalProperties": true }, "examples": { "default": { "value": { "name": "Finance" } } } } } }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "team": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" } }, "additionalProperties": true } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "team": { "id": "team_finance", "name": "Finance" } } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/team": { "get": { "tags": [
"Team"
], "operationId": "listDirectory", "summary": "List directory contacts", "description": "Returns the Slack-enriched people directory plus the viewer's management permissions.", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "email": { "type": "string" } }, "additionalProperties": true } }, "viewer": { "type": "object", "properties": { "role": { "type": "string" }, "can_manage": { "type": "boolean" } }, "additionalProperties": true } }, "additionalProperties": true }, "examples": { "default": { "value": { "items": [
{
"id": "contact_4",
"name": "Grace Hopper",
"email": "grace@acme.com"
}
], "viewer": { "role": "owner", "can_manage": true } } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/team/invites": { "post": { "tags": [
"Team"
], "operationId": "createInvite", "summary": "Create an invite link", "description": "Create an invite link", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "email": { "type": "string", "description": "Invitee email." }, "role": { "type": "string", "description": "`member` (default) or `admin`." } }, "required": [
"email"
], "additionalProperties": true }, "examples": { "default": { "value": { "email": "grace@acme.com", "role": "member" } } } } } }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "invite_url": { "type": "string" }, "email": { "type": "string" }, "role": { "type": "string" }, "expires_at": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "invite_url": "https://arlo.sh/invite/abc", "email": "grace@acme.com", "role": "member", "expires_at": "2026-06-18T17:10:00Z" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/team/invites/{token}": { "get": { "tags": [
"Team"
], "operationId": "resolveInvite", "summary": "Resolve an invite (no auth)", "description": "Public endpoint — resolves an invite token so a signup page can show the workspace and role. Does not require authentication.", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "token",
"in": "path",
"required": true,
"description": "The invite token.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "workspace_name": { "type": "string" }, "email": { "type": "string" }, "role": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "workspace_name": "Acme", "email": "grace@acme.com", "role": "member" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/approvals": { "get": { "tags": [
"Approvals"
], "operationId": "listApprovals", "summary": "List pending approvals", "description": "List pending approvals", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "approvals": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "tool_id": { "type": "string" }, "requested_by": { "type": "string" }, "created_at": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "approvals": [
{
"id": "appr_1",
"tool_id": "gmail.send",
"requested_by": "user_ada",
"created_at": "2026-06-04T17:00:00Z"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/approvals/{id}/decide": { "post": { "tags": [
"Approvals"
], "operationId": "decideApproval", "summary": "Approve or deny a governed action", "description": "Approve or deny a governed action", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The approval id.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "decision": { "type": "string", "description": "`approved` or `denied`." } }, "required": [
"decision"
], "additionalProperties": true }, "examples": { "default": { "value": { "decision": "approved" } } } } } }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "status": { "type": "string" }, "granted": { "type": "boolean" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "status": "approved", "granted": true } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/escalations": { "get": { "tags": [
"Escalations"
], "operationId": "listEscalations", "summary": "List escalations", "description": "Admin and owner roles only.", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "status",
"in": "query",
"required": false,
"description": "`all` or `open`.",
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"description": "Maximum items to return (default 50).",
"schema": {
"type": "integer"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "reason": { "type": "string" }, "status": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "items": [
{
"id": "esc_1",
"reason": "policy_forbidden",
"status": "open"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/escalations/{id}/resolve": { "post": { "tags": [
"Escalations"
], "operationId": "resolveEscalation", "summary": "Resolve an escalation", "description": "Resolve an escalation", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"description": "The escalation id.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "description": "`resolved` or `dismissed`." } }, "required": [
"status"
], "additionalProperties": true }, "examples": { "default": { "value": { "status": "resolved" } } } } } }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/billing": { "get": { "tags": [
"Billing"
], "operationId": "getBilling", "summary": "Get the billing overview", "description": "Get the billing overview", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "period": { "type": "string" }, "spend_cents": { "type": "integer" }, "plan": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "items": [
{
"period": "2026-06",
"spend_cents": 4210,
"plan": "team"
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/usage": { "get": { "tags": [
"Billing"
], "operationId": "getUsage", "summary": "Get usage metrics", "description": "Get usage metrics", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "daily_usage": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "string" }, "cost_cents": { "type": "integer" }, "tokens": { "type": "integer" } }, "additionalProperties": true } }, "tasks_done": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "string" }, "count": { "type": "integer" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "daily_usage": [
{
"date": "2026-06-04",
"cost_cents": 320,
"tokens": 812000
}
], "tasks_done": [
{
"date": "2026-06-04",
"count": 12
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/billing/checkout": { "post": { "tags": [
"Billing"
], "operationId": "createCheckout", "summary": "Create a Stripe checkout session", "description": "Create a Stripe checkout session", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "plan_key": { "type": "string", "description": "The plan to purchase." }, "success_url": { "type": "string", "description": "Redirect URL on success." }, "cancel_url": { "type": "string", "description": "Redirect URL on cancel." } }, "required": [
"plan_key",
"success_url",
"cancel_url"
], "additionalProperties": true }, "examples": { "default": { "value": { "plan_key": "team_monthly", "success_url": "https://acme.com/ok", "cancel_url": "https://acme.com/no" } } } } } }, "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ok": { "type": "boolean" }, "url": { "type": "string" } }, "additionalProperties": true }, "examples": { "default": { "value": { "ok": true, "url": "https://checkout.stripe.com/c/…" } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/onboarding": { "get": { "tags": [
"Onboarding"
], "operationId": "getOnboarding", "summary": "Get onboarding status", "description": "Get onboarding status", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "complete": { "type": "boolean" }, "steps": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "done": { "type": "boolean" } }, "additionalProperties": true } } }, "additionalProperties": true }, "examples": { "default": { "value": { "complete": false, "steps": [
{
"id": "connect_surface",
"done": true
},
{
"id": "connect_integration",
"done": false
}
] } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } }, "/v1/onboarding/complete": { "post": { "tags": [
"Onboarding"
], "operationId": "completeOnboarding", "summary": "Mark onboarding complete", "description": "Mark onboarding complete", "security": [
{
"bearerAuth": []
}
], "parameters": [
{
"name": "X-Arlo-Workspace-Id",
"in": "header",
"required": true,
"description": "The workspace to act in. Obtain it from `GET /v1/workspaces`.",
"schema": {
"type": "string"
}
}
], "responses": { "201": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "complete": { "type": "boolean" } }, "additionalProperties": true }, "examples": { "default": { "value": { "complete": true } } } } } }, "400": { "description": "The request was malformed or a required field was missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "401": { "description": "Missing or invalid bearer token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "403": { "description": "Forbidden by the caller's role or a governance policy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } }, "404": { "description": "No such resource, or it belongs to another workspace", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiError" } } } } } } } }, "components": { "securitySchemes": { "bearerAuth": { "type": "http", "scheme": "bearer", "description": "A workspace token. Pair it with the `X-Arlo-Workspace-Id` header." } }, "schemas": { "ApiError": { "type": "object", "required": [
"ok",
"error"
], "description": "The single error shape every Arlo endpoint returns. Never an HTML error page.", "properties": { "ok": { "const": false }, "error": { "type": "string", "description": "Stable, machine-readable error code, e.g. policy_forbidden." }, "message": { "type": "string", "description": "Human-readable explanation of what went wrong." }, "resolution": { "type": "string", "description": "What the caller should do next to unblock the request." }, "escalation": { "type": "string", "description": "Who can unblock it when the caller cannot, e.g. admin." }, "documentation_url": { "type": "string", "format": "uri", "description": "Where the error code is documented." } } }, "WebhookEnvelope": { "type": "object", "required": [
"event_id",
"type",
"workspace_id",
"created_at",
"data"
], "description": "The envelope every webhook delivery arrives in.", "properties": { "event_id": { "type": "string" }, "type": { "type": "string", "enum": [
"session.completed",
"session.failed",
"skill.proposed",
"skill.updated",
"approval.requested",
"approval.decided",
"audit.alert",
"file.created",
"memory.proposed",
"dream.completed",
"automation_suggestion.created",
"mini_app.proposed",
"mini_app.published",
"meeting.completed",
"call.completed"
] }, "workspace_id": { "type": "string" }, "created_at": { "type": "string", "format": "date-time" }, "data": { "type": "object", "additionalProperties": true } } } } } }