# register_agent

> Register an agent

**Call:** `POST /v1/agents`  
**Price:** Free  
**Available:** soft launch  
**Contract:** https://api.gwix.ai/docs/reference

## What it's for

Register an agent once and get the `agent_id` to send as `GWIX-Agent-Id`. Evaluation: 5,000 credits ($250) once per account after a card is saved in the console (no charge; until card setup opens, when the Terms are accepted), valid 12 months.

## Inputs

| Name | In | Type | Required | Meaning |
|---|---|---|---|---|
| `name` | body | string | yes |  |
| `version` | body | string |  |  |
| `operator_organisation` | body | string | yes |  |
| `operator_domain` | body | string | yes | Must match the account's verified email domain. |
| `contact_email` | body | string | yes | A monitored address at the operator domain. |
| `intended_use` | body | string: comp_benchmarking | recruiting_analytics | research | product_feature | other | yes |  |
| `intended_use_detail` | body | string |  |  |
| `acts_for_end_users` | body | boolean | yes |  |
| `platform` | body | string |  | Operator-declared platform or framework. |

Headers: `Idempotency-Key`.

## What comes back

`agent_id`, `name`, `version`, `status`, `tier`, `evaluation_credits_granted`, `created_at`, `identify_with`.

## Notes

- The operator domain must match the account's verified email domain.

## When it doesn't work

| Status | What to do |
|---|---|
| 400 | Fix the request; `invalid_params` names each bad parameter. |
| 401 | Send a valid API key (`Authorization: Bearer ...`). |
| 409 | Idempotency-Key reused with a different request, or the action conflicts with the current state. |
| 422 | Parameters conflict (e.g. two company filters) or use a reserved feature. |
| 429 | Rate or concurrency limit. Wait `Retry-After` seconds. |
