Skip to main content
POST
Create an API key

What this endpoint does

Creates a tenant-bound API key with the requested type and access restrictions.

When to use it

Create a separate key for each service or integration boundary so it can be rotated independently.

Before you call

Use a secret API key or console session with API-key administration access. Grant only the access the new integration needs.

Money and balance effect

This changes a resource or configuration but does not directly reserve, debit, credit, or settle wallet money.

States and completion

The full secret is returned once. Store it immediately; later reads return metadata only.

Safe retries

Send a unique Idempotency-Key for the logical action. If the response is lost, retry the same payload with the same key; never create a new key merely because the first response timed out. Read API keys for the complete workflow.

Authorizations

Authorization
string
header
required

Send the same Wayex API key as Authorization: Bearer <key>.

Headers

Idempotency-Key
string
required

A unique key for this logical action. Reuse the same key and identical payload when retrying after an unknown response.

Required string length: 8 - 255

Body

application/json
kind
enum<string>
required
Available options:
secret,
publishable
name
string
required
Required string length: 1 - 120
scopes
enum<string>[]
Required array length: 1 - 19 elements
Available options:
customers:read,
customers:write,
routes:read,
routes:write,
transfers:read,
transfers:write,
treasury:read,
treasury:write,
rates:read,
webhooks:read,
webhooks:write,
fees:read,
fees:write,
keys:read,
keys:write,
settings:read,
settings:write,
admin:read,
admin:write
allowedIps
string[]
Required array length: 1 - 50 elements
Required string length: 1 - 49
Pattern: ^[0-9a-fA-F:.]+(\/\d{1,3})?$

Response

The created key, including the plaintext secret (shown once).

id
string
required
Minimum string length: 1
counterpartyId
string
required
Minimum string length: 1
kind
enum<string>
required
Available options:
secret,
publishable
name
string
required
Minimum string length: 1
maskedKey
string
required
Minimum string length: 1
lastFour
string
required
status
enum<string>
required
Available options:
active,
revoked
createdAt
string<date-time>
required
secret
string
required
Minimum string length: 1
revokedAt
string<date-time>
rotatedToId
string
Minimum string length: 1
scopes
enum<string>[]
Available options:
customers:read,
customers:write,
routes:read,
routes:write,
transfers:read,
transfers:write,
treasury:read,
treasury:write,
rates:read,
webhooks:read,
webhooks:write,
fees:read,
fees:write,
keys:read,
keys:write,
settings:read,
settings:write,
admin:read,
admin:write
allowedIps
string[]
Required string length: 1 - 49
Pattern: ^[0-9a-fA-F:.]+(\/\d{1,3})?$