{
  "components": {
    "schemas": {
      "Account": {
        "additionalProperties": false,
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "status",
          "created_at"
        ],
        "type": "object"
      },
      "AccountOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/AccountOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "account": {
            "$ref": "#/components/schemas/Account"
          }
        },
        "required": [
          "account"
        ],
        "type": "object"
      },
      "Add-noteRequest": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/Add-noteRequest.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "body": {
            "minLength": 1,
            "type": "string"
          },
          "mentioned_user_ids": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "body"
        ],
        "type": "object"
      },
      "Add-thread-tagRequest": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/Add-thread-tagRequest.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "tag_id": {
            "type": "string"
          }
        },
        "required": [
          "tag_id"
        ],
        "type": "object"
      },
      "Alias": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "mailbox_id": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "mailbox_id",
          "address",
          "created_at"
        ],
        "type": "object"
      },
      "AliasListOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/AliasListOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "aliases": {
            "items": {
              "$ref": "#/components/schemas/Alias"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "aliases"
        ],
        "type": "object"
      },
      "AliasOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/AliasOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "alias": {
            "$ref": "#/components/schemas/Alias"
          }
        },
        "required": [
          "alias"
        ],
        "type": "object"
      },
      "Assign-threadRequest": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/Assign-threadRequest.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "user_id": {
            "type": "string"
          }
        },
        "required": [
          "user_id"
        ],
        "type": "object"
      },
      "AssignInputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/AssignInputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "role": {
            "default": "member",
            "enum": [
              "member",
              "manager"
            ],
            "type": "string"
          },
          "user_id": {
            "type": "string"
          }
        },
        "required": [
          "user_id",
          "role"
        ],
        "type": "object"
      },
      "AttachmentMeta": {
        "additionalProperties": false,
        "properties": {
          "content_type": {
            "type": "string"
          },
          "filename": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "size_bytes": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "filename",
          "content_type",
          "size_bytes"
        ],
        "type": "object"
      },
      "AttachmentsOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/AttachmentsOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "attachments": {
            "items": {
              "$ref": "#/components/schemas/AttachmentMeta"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "attachments"
        ],
        "type": "object"
      },
      "Auth-logoutResponse": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/Auth-logoutResponse.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "ok": {
            "type": "boolean"
          }
        },
        "required": [
          "ok"
        ],
        "type": "object"
      },
      "AuthBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/AuthBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "access_token": {
            "type": "string"
          },
          "account_id": {
            "type": "string"
          },
          "csrf_token": {
            "type": "string"
          },
          "expires_at": {
            "type": "string"
          },
          "refresh_token": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "user_id": {
            "type": "string"
          }
        },
        "required": [
          "account_id",
          "user_id",
          "role"
        ],
        "type": "object"
      },
      "Availability": {
        "additionalProperties": false,
        "properties": {
          "available": {
            "type": "boolean"
          },
          "currency": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "first_free": {
            "type": "boolean"
          },
          "price_cents": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "domain",
          "available",
          "price_cents",
          "currency",
          "first_free"
        ],
        "type": "object"
      },
      "AvailabilityOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/AvailabilityOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "availability": {
            "$ref": "#/components/schemas/Availability"
          }
        },
        "required": [
          "availability"
        ],
        "type": "object"
      },
      "Billing-checkoutRequest": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/Billing-checkoutRequest.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "cancel_url": {
            "type": "string"
          },
          "plan": {
            "default": "monthly",
            "enum": [
              "monthly",
              "yearly"
            ],
            "type": "string"
          },
          "success_url": {
            "type": "string"
          }
        },
        "required": [
          "plan",
          "success_url",
          "cancel_url"
        ],
        "type": "object"
      },
      "BodyAttachment": {
        "additionalProperties": false,
        "properties": {
          "content_type": {
            "type": "string"
          },
          "filename": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "size": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "filename",
          "content_type",
          "size"
        ],
        "type": "object"
      },
      "BodyOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/BodyOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "attachments": {
            "items": {
              "$ref": "#/components/schemas/BodyAttachment"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "cc": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "from": {
            "type": "string"
          },
          "from_addr": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "to": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "subject",
          "from",
          "from_addr",
          "to",
          "cc",
          "text",
          "attachments"
        ],
        "type": "object"
      },
      "CheckoutOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/CheckoutOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "ComposeAttachment": {
        "additionalProperties": false,
        "properties": {
          "content_type": {
            "type": "string"
          },
          "data_base64": {
            "description": "base64-encoded file bytes",
            "type": "string"
          },
          "filename": {
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "filename",
          "data_base64"
        ],
        "type": "object"
      },
      "ComposeInputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/ComposeInputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "attachments": {
            "items": {
              "$ref": "#/components/schemas/ComposeAttachment"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "body_text": {
            "type": "string"
          },
          "cc": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "in_reply_to": {
            "type": "string"
          },
          "mailbox_id": {
            "type": "string"
          },
          "subject": {
            "maxLength": 255,
            "type": "string"
          },
          "thread_id": {
            "description": "attach as an inline reply to this thread",
            "type": "string"
          },
          "to": {
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "mailbox_id",
          "to",
          "subject",
          "body_text"
        ],
        "type": "object"
      },
      "ComposeOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/ComposeOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "message_id",
          "status"
        ],
        "type": "object"
      },
      "CountsOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/CountsOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "counts": {
            "$ref": "#/components/schemas/ThreadCounts"
          }
        },
        "required": [
          "counts"
        ],
        "type": "object"
      },
      "Create-aliasRequest": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/Create-aliasRequest.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "address": {
            "format": "email",
            "type": "string"
          }
        },
        "required": [
          "address"
        ],
        "type": "object"
      },
      "Create-tagRequest": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/Create-tagRequest.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "name": {
            "maxLength": 40,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "CreateMailboxInputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/CreateMailboxInputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "address": {
            "format": "email",
            "type": "string"
          },
          "display_name": {
            "maxLength": 120,
            "type": "string"
          },
          "type": {
            "default": "personal",
            "enum": [
              "personal",
              "shared"
            ],
            "type": "string"
          }
        },
        "required": [
          "address",
          "display_name",
          "type"
        ],
        "type": "object"
      },
      "CreateRecordInputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/CreateRecordInputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "rdata": {},
          "ttl": {
            "default": 3600,
            "format": "int64",
            "type": "integer"
          },
          "type": {
            "enum": [
              "A",
              "AAAA",
              "MX",
              "TXT",
              "CNAME",
              "NS",
              "SRV",
              "CAA"
            ],
            "type": "string"
          }
        },
        "required": [
          "name",
          "type",
          "ttl",
          "rdata"
        ],
        "type": "object"
      },
      "CreateUserInputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/CreateUserInputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "display_name": {
            "maxLength": 120,
            "type": "string"
          },
          "email": {
            "format": "email",
            "type": "string"
          },
          "password": {
            "minLength": 10,
            "type": "string"
          },
          "role": {
            "default": "member",
            "enum": [
              "owner",
              "member"
            ],
            "type": "string"
          }
        },
        "required": [
          "email",
          "password",
          "display_name",
          "role"
        ],
        "type": "object"
      },
      "DeviceOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/DeviceOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "platform": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "platform"
        ],
        "type": "object"
      },
      "DirectoryOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/DirectoryOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "users": {
            "items": {
              "$ref": "#/components/schemas/DirectoryUser"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "users"
        ],
        "type": "object"
      },
      "DirectoryUser": {
        "additionalProperties": false,
        "properties": {
          "display_name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "display_name",
          "email"
        ],
        "type": "object"
      },
      "Domain": {
        "additionalProperties": false,
        "properties": {
          "autorenew": {
            "type": "boolean"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "expires_at": {
            "format": "date-time",
            "type": "string"
          },
          "fqdn": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "mode": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "fqdn",
          "status",
          "mode",
          "autorenew",
          "created_at"
        ],
        "type": "object"
      },
      "Domain-connectRequest": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/Domain-connectRequest.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "fqdn": {
            "type": "string"
          },
          "mode": {
            "description": "delegated = point your nameservers at us; external = keep your DNS and add records",
            "enum": [
              "delegated",
              "external"
            ],
            "type": "string"
          }
        },
        "required": [
          "fqdn",
          "mode"
        ],
        "type": "object"
      },
      "DomainListOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/DomainListOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "domains": {
            "items": {
              "$ref": "#/components/schemas/Domain"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "domains"
        ],
        "type": "object"
      },
      "DomainOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/DomainOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "domain": {
            "$ref": "#/components/schemas/Domain"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "DomainSetup": {
        "additionalProperties": false,
        "properties": {
          "domain_id": {
            "type": "string"
          },
          "fqdn": {
            "type": "string"
          },
          "mode": {
            "type": "string"
          },
          "nameservers": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "records": {
            "items": {
              "$ref": "#/components/schemas/SetupRecord"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "status": {
            "type": "string"
          },
          "verification_token": {
            "type": "string"
          }
        },
        "required": [
          "domain_id",
          "fqdn",
          "mode",
          "status",
          "nameservers",
          "records",
          "verification_token"
        ],
        "type": "object"
      },
      "DomainSetupOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/DomainSetupOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "setup": {
            "$ref": "#/components/schemas/DomainSetup"
          }
        },
        "required": [
          "setup"
        ],
        "type": "object"
      },
      "EntitlementOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/EntitlementOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "plan": {
            "type": "string"
          }
        },
        "required": [
          "active",
          "plan"
        ],
        "type": "object"
      },
      "ErrorDetail": {
        "additionalProperties": false,
        "properties": {
          "location": {
            "description": "Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'",
            "type": "string"
          },
          "message": {
            "description": "Error message text",
            "type": "string"
          },
          "value": {
            "description": "The value at the given location"
          }
        },
        "type": "object"
      },
      "ErrorModel": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/ErrorModel.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "detail": {
            "description": "A human-readable explanation specific to this occurrence of the problem.",
            "examples": [
              "Property foo is required but is missing."
            ],
            "type": "string"
          },
          "errors": {
            "description": "Optional list of individual error details",
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "instance": {
            "description": "A URI reference that identifies the specific occurrence of the problem.",
            "examples": [
              "https://example.com/error-log/abc123"
            ],
            "format": "uri",
            "type": "string"
          },
          "status": {
            "description": "HTTP status code",
            "examples": [
              400
            ],
            "format": "int64",
            "type": "integer"
          },
          "title": {
            "description": "A short, human-readable summary of the problem type. This value should not change between occurrences of the error.",
            "examples": [
              "Bad Request"
            ],
            "type": "string"
          },
          "type": {
            "default": "about:blank",
            "description": "A URI reference to human-readable documentation for the error.",
            "examples": [
              "https://example.com/errors/example"
            ],
            "format": "uri",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Folder": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "unread": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "kind",
          "name",
          "unread"
        ],
        "type": "object"
      },
      "FoldersOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/FoldersOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "folders": {
            "items": {
              "$ref": "#/components/schemas/Folder"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "folders"
        ],
        "type": "object"
      },
      "HealthOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/HealthOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "commit": {
            "type": "string"
          },
          "status": {
            "examples": [
              "ok"
            ],
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "status",
          "version",
          "commit"
        ],
        "type": "object"
      },
      "LoginInputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/LoginInputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "client": {
            "default": "web",
            "enum": [
              "web",
              "mobile"
            ],
            "type": "string"
          },
          "email": {
            "format": "email",
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "totp_code": {
            "type": "string"
          }
        },
        "required": [
          "client",
          "email",
          "password"
        ],
        "type": "object"
      },
      "Mailbox": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "type": "string"
          },
          "catch_all": {
            "type": "boolean"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "local_part": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "address",
          "local_part",
          "display_name",
          "type",
          "catch_all",
          "created_at"
        ],
        "type": "object"
      },
      "MailboxListOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/MailboxListOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "mailboxes": {
            "items": {
              "$ref": "#/components/schemas/Mailbox"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "mailboxes"
        ],
        "type": "object"
      },
      "MailboxMember": {
        "additionalProperties": false,
        "properties": {
          "display_name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "user_id": {
            "type": "string"
          }
        },
        "required": [
          "user_id",
          "display_name",
          "email",
          "role"
        ],
        "type": "object"
      },
      "MailboxOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/MailboxOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "mailbox": {
            "$ref": "#/components/schemas/Mailbox"
          }
        },
        "required": [
          "mailbox"
        ],
        "type": "object"
      },
      "MeOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/MeOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "csrf_token": {
            "type": "string"
          },
          "mailboxes": {
            "items": {
              "$ref": "#/components/schemas/Mailbox"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "user": {
            "$ref": "#/components/schemas/User"
          }
        },
        "required": [
          "user",
          "mailboxes"
        ],
        "type": "object"
      },
      "MembersOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/MembersOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "members": {
            "items": {
              "$ref": "#/components/schemas/MailboxMember"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "members"
        ],
        "type": "object"
      },
      "Mention": {
        "additionalProperties": false,
        "properties": {
          "actor_name": {
            "type": "string"
          },
          "actor_user_id": {
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "mailbox_id": {
            "type": "string"
          },
          "note_id": {
            "type": "string"
          },
          "read_at": {
            "format": "date-time",
            "type": "string"
          },
          "snippet": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "thread_id": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "thread_id",
          "mailbox_id",
          "actor_user_id",
          "actor_name",
          "subject",
          "snippet",
          "created_at"
        ],
        "type": "object"
      },
      "MentionsOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/MentionsOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "mentions": {
            "items": {
              "$ref": "#/components/schemas/Mention"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "unread": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "mentions",
          "unread"
        ],
        "type": "object"
      },
      "Message": {
        "additionalProperties": false,
        "properties": {
          "cc": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "direction": {
            "type": "string"
          },
          "flagged": {
            "type": "boolean"
          },
          "from": {
            "type": "string"
          },
          "from_addr": {
            "type": "string"
          },
          "has_attachments": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "received_at": {
            "format": "date-time",
            "type": "string"
          },
          "seen": {
            "type": "boolean"
          },
          "sent_at": {
            "format": "date-time",
            "type": "string"
          },
          "snippet": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "thread_id": {
            "type": "string"
          },
          "to": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "thread_id",
          "from",
          "from_addr",
          "to",
          "cc",
          "subject",
          "snippet",
          "received_at",
          "seen",
          "flagged",
          "direction",
          "has_attachments"
        ],
        "type": "object"
      },
      "MessagesOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/MessagesOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "messages": {
            "items": {
              "$ref": "#/components/schemas/Message"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "messages"
        ],
        "type": "object"
      },
      "Note": {
        "additionalProperties": false,
        "properties": {
          "author_user_id": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "author_user_id",
          "body",
          "created_at"
        ],
        "type": "object"
      },
      "NoteOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/NoteOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "note": {
            "$ref": "#/components/schemas/Note"
          }
        },
        "required": [
          "note"
        ],
        "type": "object"
      },
      "NotesOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/NotesOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "notes": {
            "items": {
              "$ref": "#/components/schemas/Note"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "notes"
        ],
        "type": "object"
      },
      "OkOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/OkOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "ok": {
            "type": "boolean"
          }
        },
        "required": [
          "ok"
        ],
        "type": "object"
      },
      "OrderDomainInputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/OrderDomainInputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "eligibility_type": {
            "type": "string"
          },
          "fqdn": {
            "type": "string"
          },
          "id_type": {
            "enum": [
              "ABN",
              "ACN"
            ],
            "type": "string"
          },
          "registrant_id": {
            "type": "string"
          },
          "registrant_name": {
            "type": "string"
          }
        },
        "required": [
          "fqdn"
        ],
        "type": "object"
      },
      "Record": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "managed": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "rdata": {},
          "ttl": {
            "format": "int64",
            "type": "integer"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "ttl",
          "rdata",
          "managed"
        ],
        "type": "object"
      },
      "RecordCreatedOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/RecordCreatedOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "RecordListOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/RecordListOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "records": {
            "items": {
              "$ref": "#/components/schemas/Record"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "records"
        ],
        "type": "object"
      },
      "RefreshInputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/RefreshInputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "refresh_token": {
            "type": "string"
          }
        },
        "required": [
          "refresh_token"
        ],
        "type": "object"
      },
      "Register-deviceRequest": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/Register-deviceRequest.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "platform": {
            "enum": [
              "ios",
              "android"
            ],
            "type": "string"
          },
          "push_token": {
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "platform",
          "push_token"
        ],
        "type": "object"
      },
      "SearchOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/SearchOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/SearchResult"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "results"
        ],
        "type": "object"
      },
      "SearchResult": {
        "additionalProperties": false,
        "properties": {
          "from": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "score": {
            "format": "double",
            "type": "number"
          },
          "snippet": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "thread_id": {
            "type": "string"
          }
        },
        "required": [
          "message_id",
          "thread_id",
          "subject",
          "snippet",
          "from",
          "score"
        ],
        "type": "object"
      },
      "Set-mailbox-catch-allRequest": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/Set-mailbox-catch-allRequest.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "catch_all": {
            "type": "boolean"
          }
        },
        "required": [
          "catch_all"
        ],
        "type": "object"
      },
      "SetupRecord": {
        "additionalProperties": false,
        "properties": {
          "host": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "purpose": {
            "type": "string"
          },
          "ttl": {
            "format": "int64",
            "type": "integer"
          },
          "type": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "purpose",
          "host",
          "name",
          "type",
          "value",
          "ttl"
        ],
        "type": "object"
      },
      "SignupInputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/SignupInputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "account_name": {
            "maxLength": 120,
            "minLength": 1,
            "type": "string"
          },
          "client": {
            "default": "web",
            "enum": [
              "web",
              "mobile"
            ],
            "type": "string"
          },
          "display_name": {
            "maxLength": 120,
            "type": "string"
          },
          "email": {
            "format": "email",
            "type": "string"
          },
          "password": {
            "maxLength": 200,
            "minLength": 10,
            "type": "string"
          }
        },
        "required": [
          "client",
          "account_name",
          "email",
          "password",
          "display_name"
        ],
        "type": "object"
      },
      "Tag": {
        "additionalProperties": false,
        "properties": {
          "color": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "color"
        ],
        "type": "object"
      },
      "TagOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/TagOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "tag": {
            "$ref": "#/components/schemas/Tag"
          }
        },
        "required": [
          "tag"
        ],
        "type": "object"
      },
      "TagsOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/TagsOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "tags"
        ],
        "type": "object"
      },
      "ThreadCounts": {
        "additionalProperties": false,
        "properties": {
          "assigned": {
            "format": "int64",
            "type": "integer"
          },
          "closed": {
            "format": "int64",
            "type": "integer"
          },
          "open": {
            "format": "int64",
            "type": "integer"
          },
          "snoozed": {
            "format": "int64",
            "type": "integer"
          },
          "total": {
            "format": "int64",
            "type": "integer"
          },
          "unread": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "open",
          "snoozed",
          "closed",
          "assigned",
          "unread",
          "total"
        ],
        "type": "object"
      },
      "ThreadOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/ThreadOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "thread": {
            "$ref": "#/components/schemas/ThreadSummary"
          }
        },
        "required": [
          "thread"
        ],
        "type": "object"
      },
      "ThreadShare": {
        "additionalProperties": false,
        "properties": {
          "display_name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "user_id": {
            "type": "string"
          }
        },
        "required": [
          "user_id",
          "display_name",
          "email"
        ],
        "type": "object"
      },
      "ThreadSharesOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/ThreadSharesOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "shares": {
            "items": {
              "$ref": "#/components/schemas/ThreadShare"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "shares"
        ],
        "type": "object"
      },
      "ThreadSummary": {
        "additionalProperties": false,
        "properties": {
          "assignee_user_id": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "last_from": {
            "type": "string"
          },
          "last_message_at": {
            "format": "date-time",
            "type": "string"
          },
          "mailbox_id": {
            "type": "string"
          },
          "message_count": {
            "format": "int64",
            "type": "integer"
          },
          "snippet": {
            "type": "string"
          },
          "snoozed_until": {
            "format": "date-time",
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "unread": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "mailbox_id",
          "subject",
          "last_message_at",
          "message_count",
          "status",
          "unread",
          "snippet",
          "last_from",
          "tags"
        ],
        "type": "object"
      },
      "ThreadsOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/ThreadsOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "threads": {
            "items": {
              "$ref": "#/components/schemas/ThreadSummary"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "threads"
        ],
        "type": "object"
      },
      "Update-deviceRequest": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/Update-deviceRequest.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "muted": {
            "type": "boolean"
          },
          "quiet_from": {
            "format": "int64",
            "maximum": 23,
            "minimum": 0,
            "type": "integer"
          },
          "quiet_to": {
            "format": "int64",
            "maximum": 23,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "muted"
        ],
        "type": "object"
      },
      "Update-messageRequest": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/Update-messageRequest.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "flagged": {
            "type": "boolean"
          },
          "move_folder": {
            "enum": [
              "inbox",
              "archive",
              "trash",
              "spam"
            ],
            "type": "string"
          },
          "seen": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "Update-threadRequest": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/Update-threadRequest.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "snoozed_until": {
            "format": "date-time",
            "type": "string"
          },
          "status": {
            "enum": [
              "open",
              "snoozed",
              "closed"
            ],
            "type": "string"
          }
        },
        "required": [
          "status"
        ],
        "type": "object"
      },
      "User": {
        "additionalProperties": false,
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "email",
          "display_name",
          "role",
          "status",
          "created_at"
        ],
        "type": "object"
      },
      "UserListOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/UserListOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "users": {
            "items": {
              "$ref": "#/components/schemas/User"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "users"
        ],
        "type": "object"
      },
      "UserOutputBody": {
        "additionalProperties": false,
        "properties": {
          "$schema": {
            "description": "A URL to the JSON Schema for this object.",
            "examples": [
              "//schemas/UserOutputBody.json"
            ],
            "format": "uri",
            "readOnly": true,
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/User"
          }
        },
        "required": [
          "user"
        ],
        "type": "object"
      }
    },
    "securitySchemes": {
      "bearer": {
        "scheme": "bearer",
        "type": "http"
      },
      "cookie": {
        "in": "cookie",
        "name": "anfon_session",
        "type": "apiKey"
      }
    }
  },
  "info": {
    "description": "Email you actually own. OpenAPI 3.1 contract \u2014 source of truth for the generated TS client.",
    "title": "Anfon API",
    "version": "dev"
  },
  "openapi": "3.1.0",
  "paths": {
    "/v1/account": {
      "get": {
        "operationId": "get-account",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Account details",
        "tags": [
          "account"
        ]
      }
    },
    "/v1/auth/login": {
      "post": {
        "operationId": "auth-login",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthBody"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Domain": {
                "schema": {
                  "type": "string"
                }
              },
              "Expires": {
                "schema": {
                  "type": "string"
                }
              },
              "HttpOnly": {
                "schema": {
                  "type": "boolean"
                }
              },
              "MaxAge": {
                "schema": {
                  "format": "int64",
                  "type": "integer"
                }
              },
              "Name": {
                "schema": {
                  "type": "string"
                }
              },
              "Partitioned": {
                "schema": {
                  "type": "boolean"
                }
              },
              "Path": {
                "schema": {
                  "type": "string"
                }
              },
              "Quoted": {
                "schema": {
                  "type": "boolean"
                }
              },
              "Raw": {
                "schema": {
                  "type": "string"
                }
              },
              "RawExpires": {
                "schema": {
                  "type": "string"
                }
              },
              "SameSite": {
                "schema": {
                  "format": "int64",
                  "type": "integer"
                }
              },
              "Secure": {
                "schema": {
                  "type": "boolean"
                }
              },
              "Set-Cookie": {
                "schema": {
                  "type": "string"
                }
              },
              "Unparsed": {
                "schema": {
                  "type": "string"
                }
              },
              "Value": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "summary": "Authenticate and start a session",
        "tags": [
          "auth"
        ]
      }
    },
    "/v1/auth/logout": {
      "post": {
        "operationId": "auth-logout",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Auth-logoutResponse"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Revoke the current session",
        "tags": [
          "auth"
        ]
      }
    },
    "/v1/auth/refresh": {
      "post": {
        "operationId": "auth-refresh",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthBody"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Domain": {
                "schema": {
                  "type": "string"
                }
              },
              "Expires": {
                "schema": {
                  "type": "string"
                }
              },
              "HttpOnly": {
                "schema": {
                  "type": "boolean"
                }
              },
              "MaxAge": {
                "schema": {
                  "format": "int64",
                  "type": "integer"
                }
              },
              "Name": {
                "schema": {
                  "type": "string"
                }
              },
              "Partitioned": {
                "schema": {
                  "type": "boolean"
                }
              },
              "Path": {
                "schema": {
                  "type": "string"
                }
              },
              "Quoted": {
                "schema": {
                  "type": "boolean"
                }
              },
              "Raw": {
                "schema": {
                  "type": "string"
                }
              },
              "RawExpires": {
                "schema": {
                  "type": "string"
                }
              },
              "SameSite": {
                "schema": {
                  "format": "int64",
                  "type": "integer"
                }
              },
              "Secure": {
                "schema": {
                  "type": "boolean"
                }
              },
              "Set-Cookie": {
                "schema": {
                  "type": "string"
                }
              },
              "Unparsed": {
                "schema": {
                  "type": "string"
                }
              },
              "Value": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "summary": "Rotate a refresh token (mobile/api)",
        "tags": [
          "auth"
        ]
      }
    },
    "/v1/auth/signup": {
      "post": {
        "operationId": "auth-signup",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SignupInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthBody"
                }
              }
            },
            "description": "Created",
            "headers": {
              "Domain": {
                "schema": {
                  "type": "string"
                }
              },
              "Expires": {
                "schema": {
                  "type": "string"
                }
              },
              "HttpOnly": {
                "schema": {
                  "type": "boolean"
                }
              },
              "MaxAge": {
                "schema": {
                  "format": "int64",
                  "type": "integer"
                }
              },
              "Name": {
                "schema": {
                  "type": "string"
                }
              },
              "Partitioned": {
                "schema": {
                  "type": "boolean"
                }
              },
              "Path": {
                "schema": {
                  "type": "string"
                }
              },
              "Quoted": {
                "schema": {
                  "type": "boolean"
                }
              },
              "Raw": {
                "schema": {
                  "type": "string"
                }
              },
              "RawExpires": {
                "schema": {
                  "type": "string"
                }
              },
              "SameSite": {
                "schema": {
                  "format": "int64",
                  "type": "integer"
                }
              },
              "Secure": {
                "schema": {
                  "type": "boolean"
                }
              },
              "Set-Cookie": {
                "schema": {
                  "type": "string"
                }
              },
              "Unparsed": {
                "schema": {
                  "type": "string"
                }
              },
              "Value": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "summary": "Create an account + owner and start a session",
        "tags": [
          "auth"
        ]
      }
    },
    "/v1/billing/checkout": {
      "post": {
        "operationId": "billing-checkout",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Billing-checkoutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckoutOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Start a subscription checkout (owner)",
        "tags": [
          "billing"
        ]
      }
    },
    "/v1/billing/entitlement": {
      "get": {
        "operationId": "billing-entitlement",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntitlementOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Current subscription entitlement",
        "tags": [
          "billing"
        ]
      }
    },
    "/v1/devices": {
      "post": {
        "operationId": "register-device",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Register-deviceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceOutputBody"
                }
              }
            },
            "description": "Created"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Register an Expo push token",
        "tags": [
          "devices"
        ]
      }
    },
    "/v1/devices/{device_id}": {
      "delete": {
        "operationId": "delete-device",
        "parameters": [
          {
            "in": "path",
            "name": "device_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OkOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Unregister a device",
        "tags": [
          "devices"
        ]
      },
      "patch": {
        "operationId": "update-device",
        "parameters": [
          {
            "in": "path",
            "name": "device_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Update-deviceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OkOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Update device mute / quiet-hours",
        "tags": [
          "devices"
        ]
      }
    },
    "/v1/directory": {
      "get": {
        "operationId": "list-directory",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DirectoryOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "List account people for @mention pickers",
        "tags": [
          "users"
        ]
      }
    },
    "/v1/domains": {
      "get": {
        "operationId": "list-domains",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DomainListOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "List domains",
        "tags": [
          "domains"
        ]
      },
      "post": {
        "operationId": "domain-order",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderDomainInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DomainOutputBody"
                }
              }
            },
            "description": "Created"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Order a domain + auto-provision DNS/DKIM (owner)",
        "tags": [
          "domains"
        ]
      }
    },
    "/v1/domains/availability": {
      "get": {
        "operationId": "domain-availability",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "fqdn",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AvailabilityOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Check domain availability + price",
        "tags": [
          "domains"
        ]
      }
    },
    "/v1/domains/connect": {
      "post": {
        "operationId": "domain-connect",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Domain-connectRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DomainOutputBody"
                }
              }
            },
            "description": "Created"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Connect a domain you already own (delegate NS or add records; owner)",
        "tags": [
          "domains"
        ]
      }
    },
    "/v1/domains/{domain_id}": {
      "delete": {
        "operationId": "delete-domain",
        "parameters": [
          {
            "in": "path",
            "name": "domain_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OkOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Remove a domain + its DNS/DKIM (owner)",
        "tags": [
          "domains"
        ]
      }
    },
    "/v1/domains/{domain_id}/records": {
      "get": {
        "operationId": "list-dns-records",
        "parameters": [
          {
            "in": "path",
            "name": "domain_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecordListOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "List DNS records for a domain",
        "tags": [
          "dns"
        ]
      },
      "post": {
        "operationId": "create-dns-record",
        "parameters": [
          {
            "in": "path",
            "name": "domain_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRecordInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecordCreatedOutputBody"
                }
              }
            },
            "description": "Created"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Create a custom DNS record (owner)",
        "tags": [
          "dns"
        ]
      }
    },
    "/v1/domains/{domain_id}/records/{record_id}": {
      "delete": {
        "operationId": "delete-dns-record",
        "parameters": [
          {
            "in": "path",
            "name": "domain_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "record_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OkOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Delete a custom DNS record (owner)",
        "tags": [
          "dns"
        ]
      }
    },
    "/v1/domains/{domain_id}/setup": {
      "get": {
        "operationId": "domain-setup",
        "parameters": [
          {
            "in": "path",
            "name": "domain_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DomainSetupOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Onboarding instructions: nameservers (delegated) or records to add (external)",
        "tags": [
          "domains"
        ]
      }
    },
    "/v1/domains/{domain_id}/verify": {
      "post": {
        "operationId": "domain-verify",
        "parameters": [
          {
            "in": "path",
            "name": "domain_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DomainOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Check DNS and activate a connected domain (owner)",
        "tags": [
          "domains"
        ]
      }
    },
    "/v1/health": {
      "get": {
        "operationId": "health",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "summary": "Liveness/health probe",
        "tags": [
          "system"
        ]
      }
    },
    "/v1/mailboxes": {
      "get": {
        "operationId": "list-mailboxes",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MailboxListOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "List accessible mailboxes",
        "tags": [
          "mailboxes"
        ]
      },
      "post": {
        "operationId": "create-mailbox",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMailboxInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MailboxOutputBody"
                }
              }
            },
            "description": "Created"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Create a mailbox (owner)",
        "tags": [
          "mailboxes"
        ]
      }
    },
    "/v1/mailboxes/{mailbox_id}": {
      "patch": {
        "operationId": "set-mailbox-catch-all",
        "parameters": [
          {
            "in": "path",
            "name": "mailbox_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Set-mailbox-catch-allRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OkOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Set whether a mailbox is the domain catch-all (owner)",
        "tags": [
          "mailboxes"
        ]
      }
    },
    "/v1/mailboxes/{mailbox_id}/aliases": {
      "get": {
        "operationId": "list-aliases",
        "parameters": [
          {
            "in": "path",
            "name": "mailbox_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AliasListOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "List a mailbox's alias addresses",
        "tags": [
          "mailboxes"
        ]
      },
      "post": {
        "operationId": "create-alias",
        "parameters": [
          {
            "in": "path",
            "name": "mailbox_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Create-aliasRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AliasOutputBody"
                }
              }
            },
            "description": "Created"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Add an alias address that delivers into a mailbox",
        "tags": [
          "mailboxes"
        ]
      }
    },
    "/v1/mailboxes/{mailbox_id}/aliases/{alias_id}": {
      "delete": {
        "operationId": "delete-alias",
        "parameters": [
          {
            "in": "path",
            "name": "mailbox_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "alias_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OkOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Remove an alias",
        "tags": [
          "mailboxes"
        ]
      }
    },
    "/v1/mailboxes/{mailbox_id}/folders": {
      "get": {
        "operationId": "list-folders",
        "parameters": [
          {
            "in": "path",
            "name": "mailbox_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FoldersOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "List a mailbox's folders + unread counts",
        "tags": [
          "folders"
        ]
      }
    },
    "/v1/mailboxes/{mailbox_id}/members": {
      "get": {
        "operationId": "list-mailbox-members",
        "parameters": [
          {
            "in": "path",
            "name": "mailbox_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MembersOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "List co-collaborators on a mailbox",
        "tags": [
          "mailboxes"
        ]
      },
      "post": {
        "operationId": "assign-mailbox",
        "parameters": [
          {
            "in": "path",
            "name": "mailbox_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OkOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Assign a user to a mailbox (owner)",
        "tags": [
          "mailboxes"
        ]
      }
    },
    "/v1/mailboxes/{mailbox_id}/members/{user_id}": {
      "delete": {
        "operationId": "remove-mailbox-member",
        "parameters": [
          {
            "in": "path",
            "name": "mailbox_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OkOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Remove a user from a mailbox (owner)",
        "tags": [
          "mailboxes"
        ]
      }
    },
    "/v1/mailboxes/{mailbox_id}/tags": {
      "get": {
        "operationId": "list-tags",
        "parameters": [
          {
            "in": "path",
            "name": "mailbox_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "List a mailbox's tags",
        "tags": [
          "tags"
        ]
      },
      "post": {
        "operationId": "create-tag",
        "parameters": [
          {
            "in": "path",
            "name": "mailbox_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Create-tagRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagOutputBody"
                }
              }
            },
            "description": "Created"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Create a tag on a mailbox",
        "tags": [
          "tags"
        ]
      }
    },
    "/v1/mailboxes/{mailbox_id}/tags/{tag_id}": {
      "delete": {
        "operationId": "delete-tag",
        "parameters": [
          {
            "in": "path",
            "name": "mailbox_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "tag_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OkOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Delete a tag from a mailbox",
        "tags": [
          "tags"
        ]
      }
    },
    "/v1/mailboxes/{mailbox_id}/thread-counts": {
      "get": {
        "operationId": "thread-counts",
        "parameters": [
          {
            "in": "path",
            "name": "mailbox_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CountsOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Triage counts for a mailbox (open/snoozed/closed/assigned/unread)",
        "tags": [
          "threads"
        ]
      }
    },
    "/v1/mailboxes/{mailbox_id}/threads": {
      "get": {
        "operationId": "list-threads",
        "parameters": [
          {
            "in": "path",
            "name": "mailbox_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "optional folder filter",
            "explode": false,
            "in": "query",
            "name": "folder",
            "schema": {
              "description": "optional folder filter",
              "enum": [
                "inbox",
                "sent",
                "drafts",
                "spam",
                "trash",
                "archive"
              ],
              "type": "string"
            }
          },
          {
            "description": "optional tag filter",
            "explode": false,
            "in": "query",
            "name": "tag",
            "schema": {
              "description": "optional tag filter",
              "type": "string"
            }
          },
          {
            "description": "optional status filter (Open/Later/Done)",
            "explode": false,
            "in": "query",
            "name": "status",
            "schema": {
              "description": "optional status filter (Open/Later/Done)",
              "enum": [
                "open",
                "snoozed",
                "closed"
              ],
              "type": "string"
            }
          },
          {
            "description": "optional assignee filter (user id)",
            "explode": false,
            "in": "query",
            "name": "assignee",
            "schema": {
              "description": "optional assignee filter (user id)",
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 50,
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThreadsOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "List threads in a mailbox",
        "tags": [
          "threads"
        ]
      }
    },
    "/v1/me": {
      "get": {
        "operationId": "get-me",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MeOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Current user + accessible mailboxes",
        "tags": [
          "account"
        ]
      }
    },
    "/v1/mentions": {
      "get": {
        "operationId": "list-mentions",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 50,
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MentionsOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "List the caller's @mentions (+ unread count)",
        "tags": [
          "mentions"
        ]
      }
    },
    "/v1/mentions/read-all": {
      "post": {
        "operationId": "read-all-mentions",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OkOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Mark all the caller's mentions read",
        "tags": [
          "mentions"
        ]
      }
    },
    "/v1/mentions/{mention_id}/read": {
      "post": {
        "operationId": "read-mention",
        "parameters": [
          {
            "in": "path",
            "name": "mention_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OkOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Mark a mention read",
        "tags": [
          "mentions"
        ]
      }
    },
    "/v1/messages": {
      "post": {
        "operationId": "send-message",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ComposeInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ComposeOutputBody"
                }
              }
            },
            "description": "Accepted"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Compose + send a message (authenticated; no open relay)",
        "tags": [
          "messages"
        ]
      }
    },
    "/v1/messages/{message_id}": {
      "patch": {
        "operationId": "update-message",
        "parameters": [
          {
            "in": "path",
            "name": "message_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Update-messageRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OkOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Update message (seen/flagged/move)",
        "tags": [
          "messages"
        ]
      }
    },
    "/v1/messages/{message_id}/attachments": {
      "get": {
        "operationId": "list-attachments",
        "parameters": [
          {
            "in": "path",
            "name": "message_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttachmentsOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "List a message's attachments (metadata + ids)",
        "tags": [
          "messages"
        ]
      }
    },
    "/v1/messages/{message_id}/body": {
      "get": {
        "operationId": "message-body",
        "parameters": [
          {
            "in": "path",
            "name": "message_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BodyOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Decrypted message body + headers",
        "tags": [
          "messages"
        ]
      }
    },
    "/v1/search": {
      "get": {
        "operationId": "search",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "mailbox_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "q",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Hybrid FTS + semantic search",
        "tags": [
          "search"
        ]
      }
    },
    "/v1/threads": {
      "get": {
        "operationId": "list-all-threads",
        "parameters": [
          {
            "description": "optional status filter",
            "explode": false,
            "in": "query",
            "name": "status",
            "schema": {
              "description": "optional status filter",
              "enum": [
                "open",
                "snoozed",
                "closed"
              ],
              "type": "string"
            }
          },
          {
            "description": "optional assignee filter (user id)",
            "explode": false,
            "in": "query",
            "name": "assignee",
            "schema": {
              "description": "optional assignee filter (user id)",
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThreadsOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Cross-inbox threads (All Open / Assigned to me)",
        "tags": [
          "threads"
        ]
      }
    },
    "/v1/threads/counts": {
      "get": {
        "operationId": "all-thread-counts",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CountsOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Cross-inbox counts (open + assigned to me)",
        "tags": [
          "threads"
        ]
      }
    },
    "/v1/threads/{thread_id}": {
      "get": {
        "operationId": "get-thread",
        "parameters": [
          {
            "in": "path",
            "name": "thread_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThreadOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Get a single thread (status/assignee/counts)",
        "tags": [
          "threads"
        ]
      },
      "patch": {
        "operationId": "update-thread",
        "parameters": [
          {
            "in": "path",
            "name": "thread_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Update-threadRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OkOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Set thread status (open/snoozed/closed)",
        "tags": [
          "threads"
        ]
      }
    },
    "/v1/threads/{thread_id}/assign": {
      "post": {
        "operationId": "assign-thread",
        "parameters": [
          {
            "in": "path",
            "name": "thread_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Assign-threadRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OkOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Assign a thread to a mailbox member",
        "tags": [
          "threads"
        ]
      }
    },
    "/v1/threads/{thread_id}/messages": {
      "get": {
        "operationId": "thread-messages",
        "parameters": [
          {
            "in": "path",
            "name": "thread_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessagesOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Messages in a thread",
        "tags": [
          "threads"
        ]
      }
    },
    "/v1/threads/{thread_id}/notes": {
      "get": {
        "operationId": "list-notes",
        "parameters": [
          {
            "in": "path",
            "name": "thread_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotesOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "List a thread's internal notes",
        "tags": [
          "notes"
        ]
      },
      "post": {
        "operationId": "add-note",
        "parameters": [
          {
            "in": "path",
            "name": "thread_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Add-noteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NoteOutputBody"
                }
              }
            },
            "description": "Created"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Add an internal note (not emailed)",
        "tags": [
          "notes"
        ]
      }
    },
    "/v1/threads/{thread_id}/shares": {
      "get": {
        "operationId": "list-thread-shares",
        "parameters": [
          {
            "in": "path",
            "name": "thread_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThreadSharesOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "List the users a thread is shared with",
        "tags": [
          "threads"
        ]
      }
    },
    "/v1/threads/{thread_id}/tags": {
      "get": {
        "operationId": "list-thread-tags",
        "parameters": [
          {
            "in": "path",
            "name": "thread_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Tags applied to a thread",
        "tags": [
          "tags"
        ]
      },
      "post": {
        "operationId": "add-thread-tag",
        "parameters": [
          {
            "in": "path",
            "name": "thread_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Add-thread-tagRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OkOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Apply a tag to a thread",
        "tags": [
          "tags"
        ]
      }
    },
    "/v1/threads/{thread_id}/tags/{tag_id}": {
      "delete": {
        "operationId": "remove-thread-tag",
        "parameters": [
          {
            "in": "path",
            "name": "thread_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "tag_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OkOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Remove a tag from a thread",
        "tags": [
          "tags"
        ]
      }
    },
    "/v1/users": {
      "get": {
        "operationId": "list-users",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserListOutputBody"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "List account users (owner)",
        "tags": [
          "users"
        ]
      },
      "post": {
        "operationId": "create-user",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserOutputBody"
                }
              }
            },
            "description": "Created"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "cookie": []
          }
        ],
        "summary": "Create a user (owner)",
        "tags": [
          "users"
        ]
      }
    }
  },
  "servers": [
    {
      "url": "/"
    }
  ]
}