A valid request URL is required to generate request examples{
"id": "5d1c2b3a-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
"name": "Production",
"prefix": "uk_ck_live_01234567",
"created_at": "2026-07-30T12:00:00Z",
"key": "uk_ck_live_0123456789abcdef0123456789abcdef0123456789abcdef"
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}Issue an API key for my team
Mints a uk_ck_… key for the active customer and answers with the plaintext — the only time it is ever readable. What is stored is its hash; a lost key is rolled or replaced, never recovered.
The key is born in the contact’s own environment (its prefix says which: uk_ck_live_… / uk_ck_test_…) and there is no environment field to choose — a contact lives in exactly one. Owner-only, like every act on the team’s credentials.
What the key opens is your product’s surface, not this API: your backend resolves it with POST /v1/customer-keys/verify or spends with it via customer_key on POST /v1/usage.
A valid request URL is required to generate request examples{
"id": "5d1c2b3a-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
"name": "Production",
"prefix": "uk_ck_live_01234567",
"created_at": "2026-07-30T12:00:00Z",
"key": "uk_ck_live_0123456789abcdef0123456789abcdef0123456789abcdef"
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}Autorizações
A contact session token, uk_ct_…. Belongs to one of the developer's own users, and reads only that user's data.
Cabeçalhos
The customer this call is acting inside — the same arrangement as X-Organization-Id, one plane down. Switching customers is navigation, not a mutation: nothing is stored, you send a different header, and the membership JOIN behind it decides what you may do there. An id you are not a member of matches no row and answers 404. Absent, the contact's oldest membership answers.
Corpo
What this key is for — "Production", "CI".