Trigger a sample event
Emits a sample event of the type in the organisation's sandbox, with livemode: false, like any change: to the test-mode webhook endpoints that want it, and onto the sandbox's change feed and stream. Its objects are samples that do not exist. Test keys only: a live key answers 403 test_mode_required.
- Scopes
webhooks:write - Rate classwrite
- Idempotency-Key required
/v1/test/eventsEmits a sample event of the type in the organisation's sandbox, with livemode: false, like any change: to the test-mode webhook endpoints that want it, and onto the sandbox's change feed and stream. Its objects are samples that do not exist. Test keys only: a live key answers 403 test_mode_required.
Authorization
apiKey An API key (fo_live_… / fo_test_…) as a bearer token
In: header
Header Parameters
Dated API version; pinned per organisation on first use and overridable per request
Value in
- "2026-10-01"
- "2026-10-04"
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"
Unique key for this operation, reused on retries (24 h)
1 <= length <= 257Preview 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.
A sample event to send in test mode
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/test/events" \ -H "Idempotency-Key: string" \ -H "Content-Type: application/json" \ -d '{ "type": "source.degraded" }'{ "id": "string", "type": "source.degraded", "spec_version": "1.0", "source": "string", "subject": "string", "time": "2019-08-24T14:15:22Z", "tenant_id": "string", "version": 1, "schema_version": 1, "correlation_id": "string", "causation_id": "string", "livemode": true, "data": { "object": "source", "id": "string", "catalogue": "string", "name": "string", "kind": "api", "connector": "string", "config": { "url": "http://example.com", "platform": "shopify", "format": "csv", "currency": "usd", "decimal": "dot", "role": "supplier", "warehouse": "string", "price_code": "string", "inbound": { "senders": [ "string" ] } }, "schedule": { "interval_minutes": 15, "stock_interval_minutes": 15, "adaptive": true }, "status": "active", "status_reason": { "code": "fetch_refused", "message": "string" }, "licence_basis": "vendor_agreement", "first_party": true, "has_credentials": true, "freshness": { "catalogue": null, "stock": null }, "inbound_address": "[email protected]", "version": 1, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }}webhook.test Webhook
A test event, sent only when asked for (`POST /v1/webhook-endpoints/{id}/test`), whatever the endpoint subscribes to. Signed with the endpoint's secret (Standard Webhooks `v1`).
Check a variant now POST
Checks the variant's offers now, at a moment that matters such as checkout: each source offering it gets a run (stock only where the connector reads stock apart), joins one under way, or answers with one that finished moments ago (a minute for stock, 15 minutes for a whole catalogue). New values arrive as `offer.changed` events. 404 when the organisation cannot see the variant.