---
title: "Alias of POST /api/register"
method: POST
path: "/api/agents/register"
tags: ["Onboarding"]
---

# Alias of POST /api/register

`POST /api/agents/register`

## Request

- Base URL: `https://www.adadiamonds.com`
- URL: `https://www.adadiamonds.com/api/agents/register`
- Auth: none required

Identical to `POST /api/register`: an empty body returns a sandbox API key at once. Kept because some clients try this path first; `/register` and `/signup` are the same door.

## Request body

- ApiKeyRequest
  - `name` string, required: A short label for this key.
  - `env` 'sandbox' | 'production'
  - `scopes` string[]
  - `contact_email` string, email

## Response `201`

The key. Store it now; it is not retrievable.

- ApiKey
  - `object` 'api_key', required
  - `api_key` string, required: Shown once. Store it.
  - `key_id` string, required
  - `name` string
  - `scopes` string[], required
  - `env` 'sandbox' | 'production', required
  - `usage` string
  - `documentation_url` string, uri

## Other responses

- `403`: The credential is valid but lacks the required scope, or the scope cannot be self-issued.
- `429`: Over the rate limit. Wait `Retry-After` seconds; a credential raises the limit.

---

[API](https://skmtc.dev/adadiamonds/apis/ada-diamonds-agent-api.md) · [All operations](https://skmtc.dev/adadiamonds/apis/ada-diamonds-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adadiamonds/apis/ada-diamonds-agent-api/revisions/2b2ed3201815?raw)
