# POST /api/v1/withdrawal-addresses/confirm

Open the emailed link (no sign-in; the token is the proof)

Operation: `confirmWithdrawalAddress`.

Open the emailed link (no sign-in; the token is the proof)

Confirms the address and queues the parked withdrawal or payout exactly as requested. Idempotent. Refused after 30 minutes or after a credential change.

## Endpoint

`POST https://amplerun-api.spiry.org/api/v1/withdrawal-addresses/confirm`

## Authentication

No default Bearer requirement is declared for this operation. Read its description for wallet signatures, host enrollment or other specialized proofs.

## Request body

Required body. 

### `application/json`

| Field | Type | Presence | Description |
| --- | --- | --- | --- |
| `token` | string | Required |  |

```json
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "token"
  ],
  "properties": {
    "token": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{43}$"
    }
  }
}
```

## Responses

### `200`

Confirmed.

`application/json`
| Field | Type | Presence | Description |
| --- | --- | --- | --- |
| `confirmed` | schema | Required |  |
| `kind` | "withdrawal" / "payout" / "address" | Required |  |
| `address_id` | UUID | Required |  |
| `intent_id` | UUID or null | Required |  |

```json
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "confirmed",
    "kind",
    "address_id",
    "intent_id"
  ],
  "properties": {
    "confirmed": {
      "const": true
    },
    "kind": {
      "type": "string",
      "enum": [
        "withdrawal",
        "payout",
        "address"
      ]
    },
    "address_id": {
      "$ref": "#/components/schemas/UUID"
    },
    "intent_id": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/UUID"
        },
        {
          "type": "null"
        }
      ]
    }
  }
}
```

### `default`

Error envelope. 401 unauthenticated, 403/404 forbidden, 409 conflict, 422 invalid input, 429 rate limited (code UNAVAILABLE, retryable:true, no Retry-After header), 503 unavailable money/provider state with retryable:true.

`application/json`
| Field | Type | Presence | Description |
| --- | --- | --- | --- |
| `error` | object | Required |  |

```json
{
  "$ref": "#/components/schemas/ErrorEnvelope"
}
```

## Static request outline

Replace path/query placeholders and provide the required JSON body, headers and credential from the sections above. This is a request outline, not a command that chooses an amount or starts a rental for you.

```sh
curl --request POST 'https://amplerun-api.spiry.org/api/v1/withdrawal-addresses/confirm'
```

[Schema definitions](https://docs.amplerun.com/reference/schemas.md) · [Download OpenAPI](/openapi.json) · [Authentication](https://docs.amplerun.com/agents/authentication.md) · [Errors and recovery](https://docs.amplerun.com/reference/errors.md)

---
Generated from the AmpleRun API contract.
Canonical: https://docs.amplerun.com/reference/api/confirm-withdrawal-address/
