FurniOpsDocs
API referenceFreshness

Record demand

Tells FurniOps which variants matter now (sold, in carts, on backorder). The sources offering them are checked at their fastest, every 15 minutes, until the demand lapses; stock-only runs where the connector reads stock apart. Variants the organisation cannot see are listed as unknown and ignored. Sources with schedule.adaptive: false keep their intervals.

POST/v1/demand

Tells FurniOps which variants matter now (sold, in carts, on backorder). The sources offering them are checked at their fastest, every 15 minutes, until the demand lapses; stock-only runs where the connector reads stock apart. Variants the organisation cannot see are listed as unknown and ignored. Sources with schedule.adaptive: false keep their intervals.

Authorization

apiKey
AuthorizationBearer <token>

An API key (fo_live_… / fo_test_…) as a bearer token

In: header

Header Parameters

FurniOps-Version?string

Dated API version; pinned per organisation on first use and overridable per request

Value in

  • "2026-10-01"
  • "2026-10-04"
FurniOps-Mode?string

The data the request acts on: test is the organisation's sandbox. An OAuth token picks it (live by default); an API key's mode is fixed, and naming the other one is refused

Value in

  • "live"
  • "test"
Idempotency-Key*string

Unique key for this operation, reused on retries (24 h)

Length1 <= length <= 257
FurniOps-Dry-Run?string

Preview the write and change nothing: true answers the would-be response, explain a Preview (application/vnd.furniops.preview+json)

Value in

  • "true"
  • "explain"

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Variants a tenant wants kept fresh

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X POST "https://example.com/v1/demand" \  -H "Idempotency-Key: string" \  -H "Content-Type: application/json" \  -d '{    "variants": [      "string"    ]  }'
{  "object": "demand",  "accepted": 0,  "unknown": [    "string"  ],  "sources": 0,  "expires_at": "2019-08-24T14:15:22Z"}