Create login session API Reference
const url = 'https://api.kupe.cloud/api/v1/tenants/acme/registries/registry/sessions';const options = {method: 'POST', headers: {Authorization: '<Authorization>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.kupe.cloud/api/v1/tenants/acme/registries/registry/sessions \ --header 'Authorization: <Authorization>'Create a login session: a registry credential for the signed-in member, valid for 12 hours, as
kupe registry login uses. Admins get push (which includes pull), read-only members pull. No
request body (an empty body or {}). The secret is in this response only.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ”Tenant name
Registry name: always registry
Responses
Section titled “ Responses ”Login session created; the secret is shown only here
object
Registry is the registry host to sign in to.
Secret is the password for the registry: 49 characters, returned once. Store it now; it cannot be retrieved again. Its format is published for secret scanning (see the security docs).
object
Phase is empty or Pending until the token is issued (seconds), then Ready.
Username is the registry username the token is issued under.
Example
{ "access": "pull", "createdAt": "2026-10-21T10:00:00Z", "createdBy": "alice@acme.com", "displayName": "GitHub Actions", "expiresAt": "2027-01-19T10:00:00Z", "id": "rt-0a1b2c3d4e5f6a7b", "kind": "token", "registry": "registry.kupe.cloud", "secret": "<shown once>", "status": { "phase": "Pending" }, "username": "kupe+acme+tok-0a1b2c3d4e5f6a7b"}Invalid name, or a request body with fields
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}Missing or invalid authentication
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}Not a member of this tenant, or an API key (code session_requires_user)
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}Registry not found, or the registry is not enabled (code registries_unavailable)
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}The registry is being deleted (code terminating), or the tenant is suspended (code tenant_suspended), awaiting a payment method (code payment_setup_required) or being deleted (code tenant_terminating)
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}Too many logins: retry after Retry-After seconds
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}