Skip to main content
POST
Error

Autorizações

Authorization
string
header
obrigatório

An organization API key, uk_sk_live_… or uk_sk_test_…. The environment is resolved from the stored key row on every request, never from a request parameter.

Every route behind this credential is rate limited per key — 1000 requests a minute — with a second ceiling of 3000 a minute across all the keys of one environment, so splitting your traffic across keys isolates it and minting more keys does not buy more of it. A test key can never spend a live key's allowance. Every response carries the current state in headers; see the rate-limits guide.

Cabeçalhos

Idempotency-Key
string

A key you choose — a UUID, or your own identifier for the operation — that makes this write safe to retry. Send the same key again and you get the same response back: the same status, the same body, and Idempotent-Replay: true. The handler does not run a second time.

The key is scoped to your API key and the route, so keys never collide between environments or tenants. It is remembered for 24 hours. Reusing it for a different request is refused (422), and a second request arriving while the first is still running is refused too (409) — retry that one in a moment.

A request that failed with a 5xx or was rate limited leaves the key spendable: retry it with the same key.

Maximum string length: 255

Parâmetros de caminho

id
string<uuid>
obrigatório

The team.

Corpo

application/json
contact_id
string<uuid>

The contact's UserKit id. One of this or external_id, never both.

external_id
string

The contact's id in your system. One of this or contact_id, never both.

role
string
padrão:member

Defaults to member. owner and member always exist; a tenant may define their own beside them.

Exemplo:

"owner"

Resposta

The membership already existed. The role is whatever it is now.

One person on a team.

contact_id
string<uuid>
name
string
email
string<email>
avatar_url
string
role
string

The role's key. owner and member always exist; a tenant may define their own beside them.

Exemplo:

"owner"

role_name
string

The role's display name, for a screen that should not show a key.

Exemplo:

"Owner"

joined_at
string<date-time>