Create an account
Create an account and optionally request capabilities for it in the same call.
Authorizations
ES256 JWT bearer token, minted fresh per request.
See Authentication for the claims, including the nonce, the request signature, the two scopes, and which status means what.
Body-bound ES256 signature over the request, required alongside the bearer token on
every call. Base64url of an IEEE P-1363 fixed 64-byte r‖s signature.
See Authentication for the canonical string it signs, including the JWT nonce that binds it to the bearer token.
Headers
Which environment this request runs against.
An omitted header means SANDBOX. Send it explicitly on every call rather than relying
on that default, so live money movement is never missed because a header was forgotten: a live API key that reaches a live instance without an explicit LIVE value is rejected with AUTH_API_KEY_SANDBOX_REQUIRED. When present, the value must be SANDBOX or LIVE, matched without regard to case. Any other value, including an empty one, returns 400 INVALID_APP_MODE; details.received echoes the value you sent.
SANDBOX, LIVE "SANDBOX"
Your own correlation id for this request, returned on the response exactly as you sent it.
Optional. Where you send none the response omits it, and the X-Trace-Id response
header is the handle to correlate on instead.
"9f2c1b7e-4d3a-4f81-9c2e-6b0a5d7e1f34"
Unique client-generated key identifying this request.
A request that timed out or failed can be replayed safely under the same key. See Idempotency keys.
^[a-zA-Z0-9_-]{1,255}$"3fa85f64-5717-4562-b3fc-2c963f66afa6"
Body
Payload for creating an account.
A natural person as the account's identity.
- Individual
- Organization
The capabilities to request for this account, each an id from the capability catalog.
May be empty: a bare account is an identity container holding no capabilities. Every requested
capability starts PENDING and its setup begins at creation.
A typed-prefix Base58 identifier, matching ^cap_[1-9A-HJ-NP-Za-km-z]{21,22}$: the 3 to 6
letter lowercase type prefix cap_ followed by the Base58 encoding of a UUID.
See Identifiers for the prefix table, the case rules, and the three places a pattern is deliberately not enforced.
^cap_[1-9A-HJ-NP-Za-km-z]{21,22}$Freeform label to help you identify the account. For a structured reference back to a
record in your own system, use metadata.
"Novalia"
Your own key/value pairs, kept on the record and returned with it.
See Metadata for what belongs in a metadata object, the limits, and where it comes back. Metadata is visible in the OpenFX platform, API, and MCP server (including connected AI tools), so don't include sensitive or personal data.
Response
The created account.
Someone you move money to or from: one identity, and the capabilities it is set up for. An account holds no money with OpenFX: it is a party, not a balance.