Circuit website screenshot

Circuit

Circuit (operating publicly as Spoke; legal entity Circuit Routing Limited) builds last-mile delivery route-optimization software. Its products are Route Planner, a free driver app for uploading stops, optimizing multi-stop routes and navigating; Dispatch, a multi-driver delivery-management platform with route planning, live tracking and proof of delivery for courier operations; and Connect, a marketplace that lets retailers discover local couriers and track deliveries. The Spoke Public API (formerly the Circuit for Teams API) is an HTTP/JSON API that lets teams manage plans, stops, unassigned stops, drivers, depots, routes, members and long-running operations programmatically, optimize and distribute plans across drivers, run full-text stop search with a filtering DSL, and subscribe to webhook events for delivery workflows.

Circuit publishes 11 APIs on the APIs.io network, including Depots API, Drivers API, Live Plans API, and 8 more. Tagged areas include Company, Delivery, Logistics, Last Mile, and Route Optimization.

The Circuit catalog on APIs.io includes 1 event-driven AsyncAPI specification.

Circuit’s developer surface includes authentication, documentation, API reference, getting-started guide, code examples, support, pricing, and 24 more developer resources.

51.0/100 developing ▬ flat Agent 29/100 agent ready saas Full breakdown ↓
scored 2026-08-30 · rubric v0.17.2
AccessSelf serve
2 APIs 1 MCP Servers
CompanyDeliveryLogisticsLast MileRoute OptimizationDispatchCourierFleetProof of DeliveryField Service

What this lets a business do 1

Business capabilities this provider's published APIs can perform, derived from its own contracts. Browse all capabilities →

Transport Operations Management
BC-2420
Live PlansLive StopsPlansStops
POST /plans/{planId}:reoptimize POST /plans/{planId}:redistribute POST /plans/{planId}/stops:liveCreate POST /plans/{planId}/stops/{stopId}:liveUpdate

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-08-30 · rubric v0.17.2
Composite quality — 51.0/100 · developing
Contract Quality 17.1 / 25
Developer Ergonomics 11.3 / 20
Access Clarity 4.2 / 20
Operational Transparency 10.3 / 13
Contract Governance 0.5 / 12
Discoverability 7.6 / 10
Agent readiness — 29/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 0 / 10
Documented Reversibility 6 / 6
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 8 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 6 / 6
Agent Skills 5 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Delegated User Identity 0 / 6
Protected Resource Metadata 0 / 5
Registration Without a Human 0 / 6
Agentic Commerce Surface 0 / 5
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/circuit: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 11

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

Circuit Depots API

Endpoints to operate on [Depots](/docs/models/depot) resources. This resource is currently read-only on the API.

Circuit Drivers API

Endpoints to operate on [Drivers](/docs/models/driver) resources.

Circuit Live Plans API

Endpoints to operate on [Plans](/docs/models/plan) resources when it's pending re-optimization and re-distribution. You must use these endpoints to apply the changes when any [L...

Circuit Live Stops API

Endpoints to operate on [Stop](/docs/models/stop) resources when the plan is already optimized and therefore not writable. All the endpoints return the field `pending`. This fie...

Circuit Members API

Endpoints to operate on Members resources.

Circuit Operations API

Endpoints to operate on [Operations](/docs/models/operation) resources.

Circuit Plans API

Endpoints to operate on [Plans](/docs/models/plan) resources.

Circuit Routes API

Endpoints to operate on [Routes](/docs/models/route) resources. This resource is currently read-only on the API.

Circuit Stops API

Endpoints to operate on [Stop](/docs/models/stop) resources. For any [Plans](/docs/models/plan) created before 2023-04-01 the stop collections and all related operations will no...

Circuit Team API

Endpoints to retrieve [Custom Stop Properties](/docs/models/customStopProperty).

Circuit Unassigned Stops API

Endpoints to operate on [Unassigned Stop](/docs/models/unassignedStop) resources.

Scroll for all 11

Open Collections 12

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

API Collection

OPEN COLLECTION

Spoke Depots API

OPEN COLLECTION

Spoke Depots Drivers API

OPEN COLLECTION

Spoke Depots Members API

OPEN COLLECTION

Spoke Depots Plans API

OPEN COLLECTION

Spoke Depots Routes API

OPEN COLLECTION

Spoke Depots Stops API

OPEN COLLECTION

Spoke Depots Team API

OPEN COLLECTION

Scroll for all 12

MCP Servers 1

Model Context Protocol servers that expose these APIs to AI agents.

Circuit MCP Server

MCP SERVER

Rate Limits 1

Documented rate limits and quota policies.

Circuit Rate Limits

6 limits

RATE LIMITS

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

Security Posture 2

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

Circuit Authentication

http · 2 schemes

SECURITY

Circuit Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Resources

Get Started 2

Portal, sign-up, and the first successful call

Documentation 3

Reference material describing how the API behaves

Agent Surfaces 3

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 6

Pagination, idempotency, versioning, errors, and events

Build 1

SDKs, sample code, and the tooling you integrate with

Access & Security 2

Authentication, authorization, and security posture

Learn 1

Tutorials, courses, talks, and written guidance

Operate 5

Status, limits, changes, and where to get help

Commercial 3

Pricing, plans, and the legal terms of use

Company 3

The organization behind the API

Other 2

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: circuit
name: Circuit
description: Circuit (operating publicly as Spoke; legal entity Circuit Routing Limited) builds last-mile delivery route-optimization
  software. Its products are Route Planner, a free driver app for uploading stops, optimizing multi-stop routes and navigating;
  Dispatch, a multi-driver delivery-management platform with route planning, live tracking and proof of delivery for courier
  operations; and Connect, a marketplace that lets retailers discover local couriers and track deliveries. The Spoke Public
  API (formerly the Circuit for Teams API) is an HTTP/JSON API that lets teams manage plans, stops, unassigned stops, drivers,
  depots, routes, members and long-running operations programmatically, optimize and distribute plans across drivers, run
  full-text stop search with a filtering DSL, and subscribe to webhook events for delivery workflows.
url: https://raw.githubusercontent.com/api-evangelist/circuit/refs/heads/main/apis.yml
x-type: company
x-source: vc-portfolio
x-backed-by:
- techstars
x-tier: stub
x-tier-reason: portfolio-lead
x-rebrand: getcircuit.com now redirects to spoke.com; public brand is Spoke, legal entity Circuit Routing Limited
deliveryModel:
  model: saas
  open_source: false
  commercial: true
  callable_host: true
  label: Hosted service · you call their endpoint
  confidence: high
  source:
  - openapi
  - pricing
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: unknown
  onboarding: self-serve
  trial: false
  try_now: false
  public: false
  label: Self-serve signup
  confidence: medium
  source:
  - authentication
  generated: '2026-07-22'
  method: derived
image: https://spoke.com/favicon.ico
specificationVersion: '0.23'
created: '2026-07-17'
modified: '2026-07-18'
tags:
- Company
- Delivery
- Logistics
- Last Mile
- Route Optimization
- Dispatch
- Courier
- Fleet
- Proof of Delivery
- Field Service
tags_raw:
- Company
- Delivery
- Logistics
- Last Mile
- Route Optimization
- Dispatch
- Courier
- Fleet
- Proof of Delivery
- Field Service
apis:
- aid: circuit:circuit-depots-api
  name: Circuit Depots API
  description: 'Endpoints to operate on [Depots](/docs/models/depot) resources.


    This resource is currently read-only on the API.'
  humanURL: https://developer.dispatch.spoke.com/
  baseURL: https://api.spoke.com/public/v1
  tags:
  - Depots
  properties:
  - type: OpenAPI
    url: openapi/circuit-depots-api-openapi.yml
  - type: APIReference
    url: https://developer.dispatch.spoke.com/api/v1
- aid: circuit:circuit-drivers-api
  name: Circuit Drivers API
  description: Endpoints to operate on [Drivers](/docs/models/driver) resources.
  humanURL: https://developer.dispatch.spoke.com/
  baseURL: https://api.spoke.com/public/v1
  tags:
  - Drivers
  properties:
  - type: OpenAPI
    url: openapi/circuit-drivers-api-openapi.yml
  - type: APIReference
    url: https://developer.dispatch.spoke.com/api/v1
- aid: circuit:circuit-live-plans-api
  name: Circuit Live Plans API
  description: 'Endpoints to operate on [Plans](/docs/models/plan) resources when it''s pending re-optimization and re-distribution.


    You must use these endpoints to apply the changes when any [Live Stops](#tag/Live-Stops) request returns `pending = true`.'
  humanURL: https://developer.dispatch.spoke.com/
  baseURL: https://api.spoke.com/public/v1
  tags:
  - Live Plans
  properties:
  - type: OpenAPI
    url: openapi/circuit-live-plans-api-openapi.yml
  - type: APIReference
    url: https://developer.dispatch.spoke.com/api/v1
- aid: circuit:circuit-live-stops-api
  name: Circuit Live Stops API
  description: 'Endpoints to operate on [Stop](/docs/models/stop) resources when the plan is already optimized and therefore
    not writable.


    All the endpoints return the field `pending`. This field indicates whether the

    change has been applied to the plan or if it''s pending a new optimization and distribution. On `pending = true`,

    you must use the [re-optimize](#tag/Live-Plans/operation/reoptimizePlan) and [re-distribute](#tag/Live-Plans/operation/redistributePlan)

    endpoints to apply the changes to the plan.'
  humanURL: https://developer.dispatch.spoke.com/
  baseURL: https://api.spoke.com/public/v1
  tags:
  - Live Stops
  properties:
  - type: OpenAPI
    url: openapi/circuit-live-stops-api-openapi.yml
  - type: APIReference
    url: https://developer.dispatch.spoke.com/api/v1
- aid: circuit:circuit-members-api
  name: Circuit Members API
  description: Endpoints to operate on Members resources.
  humanURL: https://developer.dispatch.spoke.com/
  baseURL: https://api.spoke.com/public/v1
  tags:
  - Members
  properties:
  - type: OpenAPI
    url: openapi/circuit-members-api-openapi.yml
  - type: APIReference
    url: https://developer.dispatch.spoke.com/api/v1
- aid: circuit:circuit-operations-api
  name: Circuit Operations API
  description: Endpoints to operate on [Operations](/docs/models/operation) resources.
  humanURL: https://developer.dispatch.spoke.com/
  baseURL: https://api.spoke.com/public/v1
  tags: []
  tags_raw:
  - Operations
  properties:
  - type: OpenAPI
    url: openapi/circuit-operations-api-openapi.yml
  - type: APIReference
    url: https://developer.dispatch.spoke.com/api/v1
- aid: circuit:circuit-plans-api
  name: Circuit Plans API
  description: Endpoints to operate on [Plans](/docs/models/plan) resources.
  humanURL: https://developer.dispatch.spoke.com/
  baseURL: https://api.spoke.com/public/v1
  tags:
  - Plans
  properties:
  - type: OpenAPI
    url: openapi/circuit-plans-api-openapi.yml
  - type: APIReference
    url: https://developer.dispatch.spoke.com/api/v1
- aid: circuit:circuit-routes-api
  name: Circuit Routes API
  description: 'Endpoints to operate on [Routes](/docs/models/route) resources.


    This resource is currently read-only on the API.'
  humanURL: https://developer.dispatch.spoke.com/
  baseURL: https://api.spoke.com/public/v1
  tags:
  - Routes
  properties:
  - type: OpenAPI
    url: openapi/circuit-routes-api-openapi.yml
  - type: APIReference
    url: https://developer.dispatch.spoke.com/api/v1
- aid: circuit:circuit-stops-api
  name: Circuit Stops API
  description: 'Endpoints to operate on [Stop](/docs/models/stop) resources.


    For any [Plans](/docs/models/plan) created before 2023-04-01 the stop

    collections and all related operations will not be available.


    For any operations here you will need a Plan ID beforehand. You can retrieve an

    existing Plan by [listing your Plans](#tag/Plans/operation/listPlans) or you can

    [create a new one](#tag/Plans/operation/createPlan).'
  humanURL: https://developer.dispatch.spoke.com/
  baseURL: https://api.spoke.com/public/v1
  tags:
  - Stops
  properties:
  - type: OpenAPI
    url: openapi/circuit-stops-api-openapi.yml
  - type: APIReference
    url: https://developer.dispatch.spoke.com/api/v1
- aid: circuit:circuit-team-api
  name: Circuit Team API
  description: Endpoints to retrieve [Custom Stop Properties](/docs/models/customStopProperty).
  humanURL: https://developer.dispatch.spoke.com/
  baseURL: https://api.spoke.com/public/v1
  tags:
  - Team
  properties:
  - type: OpenAPI
    url: openapi/circuit-team-api-openapi.yml
  - type: APIReference
    url: https://developer.dispatch.spoke.com/api/v1
- aid: circuit:circuit-unassigned-stops-api
  name: Circuit Unassigned Stops API
  description: Endpoints to operate on [Unassigned Stop](/docs/models/unassignedStop) resources.
  humanURL: https://developer.dispatch.spoke.com/
  baseURL: https://api.spoke.com/public/v1
  tags:
  - Unassigned Stops
  properties:
  - type: OpenAPI
    url: openapi/circuit-unassigned-stops-api-openapi.yml
  - type: APIReference
    url: https://developer.dispatch.spoke.com/api/v1
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
- FN: APIs.json
  email: info@apis.io
common:
- type: CapabilityMap
  url: capabilities/circuit-capability-edges.yml
  name: Circuit Business Capability Map
- type: DomainSecurity
  url: security/circuit-domain-security.yml
- type: Authentication
  url: authentication/circuit-authentication.yml
- type: Website
  url: https://spoke.com/
- type: DeveloperPortal
  url: https://developer.dispatch.spoke.com/
- type: Documentation
  url: https://developer.dispatch.spoke.com/
- type: APIReference
  url: https://developer.dispatch.spoke.com/api/v1
- type: GettingStarted
  url: https://developer.dispatch.spoke.com/docs/v1/api-examples
- type: Examples
  url: https://developer.dispatch.spoke.com/docs/v1/api-examples
- type: Support
  url: https://help.spoke.com/
- type: Pricing
  url: https://help.spoke.com/en/collections/385323-spoke-help-products-pricing
- type: TermsOfService
  url: https://spoke.com/terms
- type: PrivacyPolicy
  url: https://spoke.com/privacy
- type: StatusPage
  url: https://status.spoke.com/
- type: Deprecation
  url: lifecycle/circuit-lifecycle.yml
- type: OpenAPI
  url: openapi/_original/circuit-v1-openapi-original.json
- type: Webhooks
  url: asyncapi/circuit-webhooks.yml
- type: ErrorCatalog
  url: errors/circuit-error-codes.yml
- type: Conventions
  url: conventions/circuit-conventions.yml
- type: RateLimits
  url: rate-limits/circuit-rate-limits.yml
- type: Lifecycle
  url: lifecycle/circuit-lifecycle.yml
- type: DataModel
  url: data-model/circuit-data-model.yml
- type: MCPServer
  url: mcp/circuit-mcp.yml
- type: LLMsTxt
  url: llms/circuit-llms.txt
- type: Conformance
  url: conformance/circuit-conformance.yml
- type: ChangeLog
  url: changelog/circuit-changelog.yml
- type: Overlay
  url: overlays/circuit-v1-overlay.yaml
- type: AgentSkill
  url: skills/_index.yml
- type: LinkedIn
  url: https://www.linkedin.com/company/spoke-delivery/
- type: Twitter
  url: https://x.com/SpokeDelivery
- type: YouTube
  url: https://www.youtube.com/@Spokeapp
x-enrichment:
  date: '2026-07-19'
  status: backfilled
  pass: local-v1
  note: backfilled from .gitignore signal + verified work evidence

Work with this as data

Every provider here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This provider
curl "https://apis.io/api/v1/providers/circuit"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/circuit/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/circuit/evidence"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.