Skip to main content
POST
/
signup
Sign up
curl --request POST \
  --url https://api.getmetacognition.com/signup \
  --header 'Content-Type: application/json' \
  --data '
{
  "org_id": "<string>",
  "name": "<string>"
}
'
{
  "org_id": "<string>",
  "user_id": "<string>",
  "api_key": "<string>",
  "key": {}
}
Creates a new organization, a default user, and the first API key. The plaintext API key appears in the response once.

Body

{
  "org_id": "acme",          // optional; auto-generated when omitted
  "name":   "acme corp"      // optional; label for the first key
}
org_id
string
Optional org id. If omitted, the server generates org_<10-char base62>. Must be alphanumeric, with - or _ allowed, and at most 64 chars. Returns 409 Conflict if the id already exists.
name
string
Human-readable label for the org’s first API key. Optional, max 64 chars.

Response — 201

org_id
string
Server-generated org id. Format org_<10 chars>.
user_id
string
Server-generated user id inside that org.
api_key
string
The plaintext API key. Save it now. It cannot be recovered later.
key
object
Metadata about the key (id, prefix, display_id, name, scopes, timestamps).

Example

curl -X POST https://api.getmetacognition.com/signup \
  -H 'content-type: application/json' \
  -d '{"name": "acme corp"}'
Response
{
  "org_id": "org_79d0fHwDRhoZ8Ww7",
  "user_id": "user_FuHtj0C14AaKHJq1",
  "api_key": "tex_live_LfbRIlFWtazFQaLw2C05IBTuoKX0B-sLFZ5XOHmkSJ8",
  "key": {
    "id": "a1247653-9646-4f32-b04f-72d2c0f5355b",
    "prefix": "tex_live_",
    "display_id": "LfbRIlFW",
    "name": "acme corp",
    "scopes": ["*"],
    "is_active": true,
    "created_at": "2026-05-08T09:56:42.855738",
    "last_used_at": null,
    "revoked_at": null
  }
}
The api_key field appears only in this response. Store it server-side. We cannot recover or re-display it.
This endpoint is unauthenticated by design. Anyone can create an org. For a private launch, put your existing auth provider in front and only forward to /signup after your checks pass.

Errors

StatusWhen
409 ConflictThe org_id you supplied is already in use, or hash collision on key minting.
422 Unprocessable Entityorg_id failed the alphanumeric / length validation.