Circuit Orders API

Create, submit, and track delivery orders, and download their printable PDF labels.

Operations 9

GET /orders List orders #
POST /orders Create an order #
POST /orders:import Batch import orders #
POST /orders:submit Batch submit orders #
POST /orders:withdraw Batch withdraw orders #
GET /orders/{id} Retrieve an order #
PATCH /orders/{id} Edit an order #
DELETE /orders/{id} Delete an order #
GET /orders/{id}/shippingLabels Retrieve an order's shipping labels #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/getcircuit-com:getcircuit-com-orders-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

getcircuit-com-orders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Spoke Connect Orders API
  description: 'This is the documentation of the Spoke Connect API HTTP endpoints. The Connect

    API is how a retailer creates, tracks, and hands off its deliveries in Spoke

    programmatically. # Introduction


    The Spoke Connect API is an HTTP API that lets you operate on your orders

    programmatically. Use it to create, edit, delete, list, and retrieve orders,

    submit them to a courier and withdraw them before they ship, and download

    printable PDF labels. Read-only endpoints expose the couriers and pickup

    locations your orders reference. Spoke offers no programming SDKs for the Connect API. Call the endpoints

    documented on this page directly, or generate a client from the

    OpenAPI spec. For worked examples of the flows a retailer integration needs, see the

    Usage Examples. # Using the API


    ## Address


    The base address for this version of the API, to be used before every endpoint

    listed here, is:


    ```

    https://api.spoke.com/connect/v1

    ```


    Notice the `https://` prefix. The Connect API will **not** accept plain HTTP

    requests. ## Your first request


    Every request must be authenticated with an API key. The following request

    lists your orders:


    ```bash

    curl "https://api.spoke.com/connect/v1/orders" \

    -H "Authorization: Bearer "

    ```


    The response contains an `orders` array, plus a `nextPageToken` cursor to pass

    as `pageToken` when there are more results to fetch. ## Authentication


    Every Connect API request must be authenticated with an API key. ### Creating API keys


    API keys are created and expired from the **Integrations** page in your Connect

    settings, by retailer admins. You can have up to 5 active keys at a time. Expired keys don''t count towards the limit. Treat your keys as secrets: don''t embed them in client-side code, and expire

    any key you suspect has leaked. ### Using your key


    Pass the key in the `Authorization` header. Both the `Bearer` and `Basic`

    schemes are accepted:


    ```

    Authorization: Bearer

    ```


    ```

    Authorization: Basic :)>

    ```


    For `Basic`, use the API key as the username and leave the password empty. `curl` builds the encoded header for you with `-u ":"`:


    ```bash

    curl "https://api.spoke.com/connect/v1/orders" -u ":"

    ```


    ### Authentication errors


    Requests with a missing, invalid, or expired key are rejected with a

    `401 Unauthorized` response. ## On resource types


    Every response from the Connect API is a JSON object, and every request that

    carries a body must send it as JSON with the `Content-Type: application/json`

    header. The API exposes four resource types:


    | Resource | What it is | Where |

    | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |

    | `Order` | A package, or set of packages, you are sending to a recipient through a courier. Everything else in the API exists to describe or act on an order. | Read and write, `/orders` |

    | `Courier` | A courier your retailer account is connected to, and that you can submit orders to. | Read-only, `/couriers` |

    | `PickupLocation` | One of your own locations a courier can collect from, referenced by an order''s `deliveryInstructions.handOffInfo.pickupLocationId`. | Read-only, `/pickupLocations` |

    | `OrderShippingLabels` | A short-lived signed link to an order''s printable labels, rendered as a single PDF. | Read-only, `/orders/{id}/shippingLabels` |


    Couriers and pickup locations are managed in the Spoke Connect app, not through

    this API. The API reads them so you can reference them by id when you create

    and submit orders. What every field on these resources means is documented on the

    Models pages. ## On resource IDs


    Every resource in the Connect API has a unique id that Spoke generates.'
  version: v1
servers:
- url: https://api.spoke.com/connect/v1
security:
- BearerAuth: []
- BasicAuth: []
tags:


# --- truncated at 32 KB (199 KB total) ---
# Full source: https://artifacts.apis.io/getcircuit-com/openapi/getcircuit-com-orders-api-openapi.yml