# Give auth code to move a domain to manitu

> Give manitu the auth code of a domain on its way to manitu, so that the transfer can start.

- Effect: Write - Changes the account. Agents ask first.
- Idempotent: no
- Stability: beta
- MCP tool: `manitu_domain_transfer_in_authcode_set` on https://mcp.manitu.de/mcp
- REST: `POST https://api.manitu.de/v1/domain/transfer/in/authcode/set`
- Needs: `service_domain`
- Page: /reference/domain/transfer/in/authcode/set/

**Changes the account. Agents say what will happen and wait for an explicit yes before calling it.**

## MCP tool

`manitu_domain_transfer_in_authcode_set`

### Description for the model

Gives manitu the auth code (EPP or transfer code) of a domain that is on its way to manitu (status transfer_pending in manitu_domain_get) - the code the customer got from the old provider. handled in the answer: automatic (the transfer was started at the registry now) or manual (manitu's support starts it - tell the customer it may take a while). A transfer takes up to some days, and the old provider may ask the customer to confirm it. The code is a secret: never repeat it. Refused with a conflict when the domain is not waiting for a transfer (not_transfer_pending).

### Arguments

- `name` (string, required) - The domain name, with international characters or in ASCII. (minLength `1`; maxLength `253`)
- `authcode` (string, required, write-only) - The auth code (also called EPP or transfer code) the old provider gave the customer. (minLength `1`; maxLength `255`)

### Example

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "manitu_domain_transfer_in_authcode_set",
    "arguments": {
      "name": "example.com",
      "authcode": "string"
    }
  }
}
```

## REST

`POST https://api.manitu.de/v1/domain/transfer/in/authcode/set`

### Authentication

One of `X-API-Key`, `Authorization: Bearer …` - never more than one in a request.

### Request body

JSON; unknown fields are refused.

- `name` (string, required) - The domain name, with international characters or in ASCII. (minLength `1`; maxLength `253`)
- `authcode` (string, required, write-only) - The auth code (also called EPP or transfer code) the old provider gave the customer. (minLength `1`; maxLength `255`)

### Response

In `data`; the rest of the body as on every call.

- `name` (string, required) - The domain, with international characters.
- `handled` (string, required) - automatic: the transfer was started at the registry. manual: manitu's support starts it. (one of `"automatic"`, `"manual"`)

### Statuses

- `200` Success.
- `400` The request does not match the declared input schema.
- `401` No credential was presented, or it was not recognised.
- `403` The credential is not permitted to use this operation.
- `500` The server failed. Nothing about the request was wrong. Whether a change took effect is not known - check before trying it again.
- `503` The channel this operation forwards through is unavailable.

### Example

```sh
curl -X POST 'https://api.manitu.de/v1/domain/transfer/in/authcode/set' \
  -H 'X-API-Key: $API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"name":"example.com","authcode":"string"}'
```

## Example result

```json
{
  "name": "example.com",
  "handled": "automatic"
}
```
