Create a webhook endpoint
Events are POSTed to url as JSON — { id, type, createdAt, data } — signed in the fxapis-signature header with the returned secret. The secret is returned once, here. Retried for about 45 hours on failure; switched off after 20 failures in a row. Up to 10 endpoints per workspace.
Authorization
apiKey Authorization: Bearer fx_live_<id>_<secret>.
A key is shown once, at creation. We cannot show it again or recover it for you.
Keys carry a label (live or test) in the key itself, so each configuration is easy to tell
apart. Both reach real brokers: test with a broker demo account.
Scopes are per key. A key without accounts:write can read accounts and nothing else.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/webhooks" \ -H "Content-Type: application/json" \ -d '{ "url": "https://example.com/fxapis/webhooks" }'{ "data": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "url": "https://example.com/fxapis/webhooks", "description": "Copier", "events": [ "order.filled" ], "enabled": true, "disabledAt": null, "disabledReason": "20 deliveries in a row failed", "consecutiveFailures": 0, "secretHint": "whsec_…Qx4w", "previousSecretExpiresAt": null, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "secret": "whsec_3q2-7ZkT0d8m1sQe9yVbW4nX6pLr5aHcUgJf0oKxQx4w" }}