Docs
Members

Invite someone

Request

Synthetic example for the production API. Replace YOUR_API_KEY and the ids. Do not send it against a live account until you mean to.

curl -X POST "https://api.fxapis.com/v1/members/invitations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"string","role":"admin"}'
POST
/v1/members/invitations

Console only — not available with API keys. Signed-in owners and admins use this from the fxapis console. It is not in the SDKs or the Postman collection.

Returns a link to send them; there is no email yet. An address that already has an open invitation gets that invitation back — the same link, not a new one — with handedBack: true. To change the role on it, revoke it and invite again.

The owner may invite admins and members; an admin may invite members.

402 QUOTA_EXCEEDED on a plan with a members limit (Personal, Personal Demo: owner only).

429 INVITATIONS_LIMITED past the workspace's invitations a day (new and sent again): 5 on a trial, 20 otherwise.

Authorization

apiKey
AuthorizationBearer <token>

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

application/json

application/json

curl -X POST "https://api.fxapis.com/v1/members/invitations" \  -H "Content-Type: application/json" \  -d '{    "email": "[email protected]",    "role": "admin"  }'
{  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "email": "string",    "role": "admin",    "url": "string",    "invitedBy": null,    "expiresAt": "2019-08-24T14:15:22Z",    "createdAt": "2019-08-24T14:15:22Z",    "handedBack": true  }}