> ## Documentation Index
> Fetch the complete documentation index at: https://agentmail.manicule.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For every page in one file, fetch https://agentmail.manicule.dev/llms-full.txt (large).
> To search and read these docs as tools, connect the MCP server at https://agentmail.manicule.dev/api/mcp.
> Every agent surface: https://agentmail.manicule.dev/.well-known/llms-manifest.json

# Update Account (/api-reference/update-account)

<!-- agent-signals: reading_time_min: 4 · est_tokens: 2486 · updated: 2026-09-29 -->
Related: [Sign Up](/api-reference/sign-up.md), [Attach Human](/api-reference/attach-human.md), [Verify](/api-reference/verify.md), [List Inboxes](/api-reference/list-inboxes.md), [Create Inbox](/api-reference/create-inbox.md), [Search Inboxes](/api-reference/search-inboxes.md)

# Update Account

`PATCH /v0/accounts/{account_id}/update`

> Updates one account. Set `status` to `disabled` to stop the inbox from
> signing in at the provider again, or to `enabled` to re-enable it.
> Idempotent: disabling an already disabled account keeps its original
> `disabled_at`, and enabling an enabled account is a no-op.
>
> Find the `account_id` with List Accounts. An account exists only after an
> inbox's first sign-in at a provider, so it cannot be disabled in advance.
> A disable applies to that inbox at that provider whichever sign-in key is
> used: the provider's next authorization ends in `access_denied`, and a code
> issued earlier is refused with `invalid_grant`. Access tokens already
> issued stay valid until they expire, and the provider's own session is
> unaffected.
>
> Requires `account_update`, which sign-in keys (`type: public_key`) cannot
> hold, so call this with a bearer API key. An account outside the key's
> scope is a 404. A 409 means the account changed during the write; read it
> again and retry.

Base URL: `https://api.agentmail.to`

Base URL: `https://x402.api.agentmail.to`

Base URL: `https://mpp.api.agentmail.to`

Base URL: `https://api.agentmail.eu`

## OpenAPI

```json
{
  "servers": [
    {
      "url": "https://api.agentmail.to",
      "description": "prod"
    },
    {
      "url": "https://x402.api.agentmail.to",
      "description": "prod-x402"
    },
    {
      "url": "https://mpp.api.agentmail.to",
      "description": "prod-mpp"
    },
    {
      "url": "https://api.agentmail.eu",
      "description": "eu-prod"
    }
  ],
  "security": [
    {
      "Bearer": []
    }
  ],
  "securitySchemes": {
    "Bearer": {
      "type": "http",
      "scheme": "bearer"
    }
  },
  "parameters": [
    {
      "name": "account_id",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string",
        "format": "uuid",
        "description": "ID of account.",
        "title": "AccountId"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "enabled",
                "disabled"
              ],
              "description": "Status to set. `disabled` stops the inbox from signing in at the\nprovider; `enabled` re-enables it. An enabled account reads back with no\n`status`.",
              "title": "UpdateAccountStatus"
            }
          },
          "description": "Fields to change on the account. Fields you omit are left unchanged and\nunknown fields are rejected. Expects at least one field; today that is\n`status`.",
          "title": "UpdateAccountRequest"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Response with status 200",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "account_id": {
                "type": "string",
                "format": "uuid",
                "description": "ID of account.",
                "title": "AccountId"
              },
              "provider_id": {
                "type": "string",
                "format": "uuid",
                "description": "ID of provider.",
                "title": "ProviderId"
              },
              "provider_name": {
                "type": "string",
                "description": "Display name of provider."
              },
              "inbox_id": {
                "type": "string",
                "description": "The ID of the inbox.",
                "title": "InboxId"
              },
              "pod_id": {
                "type": "string",
                "description": "ID of pod.",
                "title": "PodId"
              },
              "organization_id": {
                "type": "string",
                "description": "ID of organization.",
                "title": "OrganizationId"
              },
              "first_signed_in_at": {
                "type": "string",
                "format": "date-time",
                "description": "Time of first sign-in at provider."
              },
              "last_signed_in_at": {
                "type": "string",
                "format": "date-time",
                "description": "Time of most recent sign-in at provider."
              },
              "sign_in_count": {
                "type": "integer",
                "description": "Number of sign-ins at provider."
              },
              "status": {
                "type": "string",
                "enum": [
                  "disabled"
                ],
                "description": "`disabled` refuses every new sign-in for the account until it is\nre-enabled. Access tokens already issued are not revoked.",
                "title": "AccountStatus"
              },
              "disabled_at": {
                "type": "string",
                "format": "date-time",
                "description": "Time at which the account was disabled. Present only while `status` is `disabled`."
              }
            },
            "required": [
              "account_id",
              "provider_id",
              "inbox_id",
              "pod_id",
              "organization_id",
              "first_signed_in_at",
              "last_signed_in_at",
              "sign_in_count"
            ],
            "description": "One inbox signed in at one provider.",
            "title": "Account"
          }
        }
      }
    },
    "400": {
      "description": "Error response with status 400",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "Name of error.",
                "title": "ErrorName"
              },
              "code": {
                "type": "string",
                "description": "Stable, machine-readable error code in snake_case (for example, not_found or missing_permission). Branch on this rather than the message text.",
                "title": "ErrorCode"
              },
              "message": {
                "type": "string",
                "description": "Error message.",
                "title": "ErrorMessage"
              },
              "errors": {
                "description": "Validation errors. Each entry has a path and a message identifying the invalid field."
              },
              "fix": {
                "type": "string",
                "description": "The concrete next action that resolves the error.",
                "title": "ErrorFix"
              },
              "docs": {
                "type": "string",
                "description": "Link to the error reference entry for this code.",
                "title": "ErrorDocs"
              }
            },
            "required": [
              "name",
              "errors"
            ],
            "title": "ValidationErrorResponse"
          }
        }
      }
    },
    "404": {
      "description": "Error response with status 404",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "Name of error.",
                "title": "ErrorName"
              },
              "code": {
                "type": "string",
                "description": "Stable, machine-readable error code in snake_case (for example, not_found or missing_permission). Branch on this rather than the message text.",
                "title": "ErrorCode"
              },
              "message": {
                "type": "string",
                "description": "Error message.",
                "title": "ErrorMessage"
              },
              "fix": {
                "type": "string",
                "description": "The concrete next action that resolves the error.",
                "title": "ErrorFix"
              },
              "docs": {
                "type": "string",
                "description": "Link to the error reference entry for this code.",
                "title": "ErrorDocs"
              }
            },
            "required": [
              "name",
              "message"
            ],
            "title": "ErrorResponse"
          }
        }
      }
    },
    "409": {
      "description": "Error response with status 409",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "Name of error.",
                "title": "ErrorName"
              },
              "code": {
                "type": "string",
                "description": "Stable, machine-readable error code in snake_case (for example, not_found or missing_permission). Branch on this rather than the message text.",
                "title": "ErrorCode"
              },
              "message": {
                "type": "string",
                "description": "Error message.",
                "title": "ErrorMessage"
              },
              "fix": {
                "type": "string",
                "description": "The concrete next action that resolves the error.",
                "title": "ErrorFix"
              },
              "docs": {
                "type": "string",
                "description": "Link to the error reference entry for this code.",
                "title": "ErrorDocs"
              }
            },
            "required": [
              "name",
              "message"
            ],
            "title": "ErrorResponse"
          }
        }
      }
    }
  }
}
```
