Skip to main content

API Reference

The Expanso API provides a REST interface for managing jobs, nodes, and executions across your edge computing infrastructure.

How It Works

The Expanso API is available on two types of endpoints:

  • Orchestrator: The central management service for your edge fleet
  • Edge nodes: Individual edge agents (when running in local mode)

Most API operations work against both endpoint types, with responses varying based on the target. For example, querying the orchestrator returns data across all nodes, while querying an edge node returns data for that specific node only.

Local Mode

Edge nodes running in "local mode" expose the same API for direct management without an orchestrator connection. This enables:

  • Local development and testing workflows
  • Direct troubleshooting of specific edge nodes
  • Air-gapped or isolated deployments
  • Deploying jobs directly to edge nodes

To use the API against an edge node in local mode, point your requests to the edge node's endpoint instead of the orchestrator.

Base URL

https://YOUR_WORKSPACE_ID.us1.cloud.expanso.io:9010/api/v1

Using Your Managed Expanso Cloud Endpoint:

Each workspace in Managed Expanso Cloud comes with its own orchestrator and a unique endpoint. The examples on this page use the placeholder YOUR_WORKSPACE_ID. Replace it with your workspace ID, or copy the full endpoint from:

  • Expanso Cloud Console → Your Workspace → Endpoint

Prefer to run the orchestrator in your own environment? A private deployment is available too. Contact the Expanso team at [email protected] for details and to get set up.

Authentication

All API requests require authentication. You can use an Expanso Cloud API key:

curl -H "Authorization: Bearer exp_ak_YOUR_API_KEY" \
https://YOUR_WORKSPACE_ID.us1.cloud.expanso.io:9010/api/v1/jobs

Create an API key from the Expanso Cloud dashboard under Settings → API Keys.

Quick Start

Deploy a job to your edge nodes:

curl -X PUT \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "log-processor",
"type": "pipeline",
"config": {
"pipeline": {
"inputs": [...],
"processors": [...],
"outputs": [...]
}
},
"selector": {
"match_labels": {
"env": "production"
}
}
}' \
https://YOUR_WORKSPACE_ID.us1.cloud.expanso.io:9010/api/v1/jobs

This will deploy the job to all nodes matching the label env=production.