Integrations · Orders API

A Manufacturing Order API for partners who order at volume.

Create and track custom device orders straight from your own software. Discover the catalog, post an order with a patient and a device spec, upload foot scans to presigned URLs, and follow the order into manufacturing over signed webhooks — no portal round trips.

api.fitspro.clinic REST + JSON Bearer API keys Signed webhooks
Create an order curl
curl -X POST https://api.fitspro.clinic/v1/orders \
  -H "Authorization: Bearer fits_live_…" \
  -H "Idempotency-Key: po-2231-adams-1" \
  -H "Content-Type: application/json" \
  -d '{
    "patient": {
      "givenName": "John",
      "familyName": "Adams",
      "birthDate": "1958-03-14",
      "externalId": "MRN-004212"
    },
    "device": {
      "sku": "SPRUN",
      "shoeSize": 10.5,
      "topCover": { "material": "plastazote", "color": "black" }
    },
    "reference": "PO-2231"
  }'

The 201 response includes presigned upload URLs for each required foot scan. Returning patients — matched by your own externalId — reuse scans already on file, so a reorder is one call.

Order lifecycle

Post it, scan it, track it to the bench.

An order is accepted with a patient and a device spec, validated against the live catalog. It waits for the foot scans it needs — uploaded directly to presigned URLs, no intermediary — then enters manufacturing automatically. Every status change from acceptance to shipment is visible on the order and pushed to your webhook endpoint.

Devices ship to your account's address on file, typically consolidated with the rest of your queue. Pricing follows your account's volume tier and is snapshotted onto the order at acceptance — the price you see on the order is the price you're billed.

Endpoints

A small surface that covers the whole job.

Six endpoints: discover what's orderable, order it, and follow it. Idempotency keys make retries safe; errors come back as structured JSON with a request id.

Orders
  • POST /v1/orders

    Create a manufacturing order — patient, device spec, and an idempotency key. Returns per-foot scan state and presigned upload URLs.

  • GET /v1/orders

    List orders for the authenticated account, filterable by status.

  • GET /v1/orders/{id}

    Retrieve one order — status, scan state, and the billing snapshot taken at acceptance.

  • DELETE /v1/orders/{id}

    Cancel an order any time before it enters production.

Catalog
  • GET /v1/products

    Discover orderable products — functional orthotics, sport lines, dress, and brace families.

  • GET /v1/products/{sku}

    The full option set for one product: shell, top cover, and accommodations, with valid values for each.

The hosted reference at api.fitspro.clinic/docs documents every request and response shape, generated from the live OpenAPI specification.

Auth & sandbox

Live and test keys, issued from your console.

Authentication is a bearer API key — fits_live_… for production, fits_test_… for the sandbox. Keys are created, rotated, and revoked in the Developers section of your FITS console; only a hash is ever stored.

Sandbox keys exercise the identical API against a demo organization — including a test patient with scans already on file — so you can integrate the full order flow, webhooks included, before a single real device is cut.

Webhooks

Status changes come to you, signed.

Register a webhook endpoint and every order.status_changed event is delivered as JSON, HMAC-signed with your endpoint's secret in the X-FITS-Signature header. Verify the signature, update your system, and skip polling entirely — though the order endpoints always reflect current state if you'd rather pull.

Build against it

Read the reference, then ask us for a sandbox key.

API access is enabled per account. If you order — or plan to order — custom devices at volume, we'll switch it on and you'll have a sandbox key the same day.