---
title: "Register your own agent in the registry. Free. Returns a value to publish at the operator's domain to prove control of it"
method: POST
path: "/api/v1/atlas/registrations"
tags: ["Atlas"]
---

# Register your own agent in the registry. Free. Returns a value to publish at the operator's domain to prove control of it

`POST /api/v1/atlas/registrations`

## Request

- Base URL: `https://overwing.ai`
- URL: `https://overwing.ai/api/v1/atlas/registrations`
- Auth: HTTP bearer

## Request body

- object
  - `name` string, required
  - `operator` string, required: The company or person that runs the agent
  - `domain` string, required: The operator's domain, which you will prove control of
  - `tokens` string[], required: The product name your User-Agent carries, such as AcmeBot. May not contain, or sit inside, a token already in the registry
  - `purpose` 'training_crawl' | 'search_index' | 'user_fetch' | 'browser_agent' | 'coding_agent' | 'api_agent' | 'other'
  - `user_agent` string
  - `description` string
  - `policy_url` string, uri
  - `key_directory_url` string, uri: A Web Bot Auth key directory on the operator's domain. With one that answers, the entry is listed as signed
  - `follows_robots_txt` boolean, nullable

## Response `201`

Started; publish the verification value, then call verify

- object
  - `id` string
  - `status` 'pending_verification' | 'pending_review' | 'published' | 'rejected' | 'withdrawn'
  - `name` string
  - `operator` string
  - `domain` string
  - `tokens` string[]
  - `purpose` string
  - `note` string, nullable
  - `verification` object: Present while unverified: the value to publish, as a DNS TXT record or as a file
    - `value` string
    - `dns` object
      - `type` string
      - `name` string
      - `value` string
    - `http` object
      - `url` string
      - `body` string
  - `agent` string: Present once published: the registry entry

## Other responses

- `400`: A field is missing or not valid; `field` names it
- `401`: Missing or invalid API key
- `403`: The key's scope does not allow this
- `409`: The name or a token collides with an entry already in the registry
- `429`: This organization already has 10 registrations

---

[API](https://skmtc.dev/overwing/apis/overwing-api.md) · [All operations](https://skmtc.dev/overwing/apis/overwing-api/llms.txt) · [OpenAPI document](https://skmtc.dev/overwing/apis/overwing-api/revisions/ff1282d31438?raw)
