{
  "components": {
    "schemas": {
      "APIKeyMeta": {
        "properties": {
          "created_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "key_id": {
            "title": "Key Id",
            "type": "string"
          },
          "last_used_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Used At"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "note": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Note"
          },
          "owner": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Owner"
          },
          "revoked_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Revoked At"
          },
          "scopes": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Scopes",
            "type": "array"
          }
        },
        "required": [
          "key_id"
        ],
        "title": "APIKeyMeta",
        "type": "object"
      },
      "AssignIn": {
        "additionalProperties": false,
        "properties": {
          "principal_id": {
            "maxLength": 40,
            "minLength": 1,
            "title": "Principal Id",
            "type": "string"
          },
          "version": {
            "minimum": 1.0,
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "principal_id",
          "version"
        ],
        "title": "AssignIn",
        "type": "object"
      },
      "AssignmentCreate": {
        "additionalProperties": false,
        "properties": {
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "resource_id": {
            "maxLength": 100,
            "minLength": 1,
            "title": "Resource Id",
            "type": "string"
          },
          "role": {
            "$ref": "#/components/schemas/EntityRef"
          },
          "subject": {
            "$ref": "#/components/schemas/SubjectRef"
          }
        },
        "required": [
          "subject",
          "role",
          "resource_id",
          "expected_policy_version"
        ],
        "title": "AssignmentCreate",
        "type": "object"
      },
      "AuthCurrentSessionResponse": {
        "additionalProperties": false,
        "properties": {
          "expires_at": {
            "format": "date-time",
            "title": "Expires At",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "source_kind": {
            "enum": [
              "password",
              "key",
              "bootstrap"
            ],
            "title": "Source Kind",
            "type": "string"
          }
        },
        "required": [
          "id",
          "source_kind",
          "expires_at"
        ],
        "title": "AuthCurrentSessionResponse",
        "type": "object"
      },
      "AuthErrorResponse": {
        "additionalProperties": false,
        "properties": {
          "detail": {
            "description": "Fixed public error message.",
            "title": "Detail",
            "type": "string"
          }
        },
        "required": [
          "detail"
        ],
        "title": "AuthErrorResponse",
        "type": "object"
      },
      "AuthGrantableResponse": {
        "additionalProperties": false,
        "properties": {
          "installation": {
            "description": "Permissions this actor may grant at the installation resource.",
            "items": {
              "type": "string"
            },
            "title": "Installation",
            "type": "array"
          }
        },
        "required": [
          "installation"
        ],
        "title": "AuthGrantableResponse",
        "type": "object"
      },
      "AuthLogoutResponse": {
        "additionalProperties": false,
        "properties": {
          "ok": {
            "const": true,
            "title": "Ok",
            "type": "boolean"
          }
        },
        "required": [
          "ok"
        ],
        "title": "AuthLogoutResponse",
        "type": "object"
      },
      "AuthMeResponse": {
        "additionalProperties": false,
        "properties": {
          "can_enroll_owner": {
            "title": "Can Enroll Owner",
            "type": "boolean"
          },
          "csrf_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Present only for an authenticated browser cookie session.",
            "title": "Csrf Token"
          },
          "grantable": {
            "$ref": "#/components/schemas/AuthGrantableResponse"
          },
          "is_owner": {
            "title": "Is Owner",
            "type": "boolean"
          },
          "password_change_required": {
            "title": "Password Change Required",
            "type": "boolean"
          },
          "permissions": {
            "items": {
              "type": "string"
            },
            "title": "Permissions",
            "type": "array"
          },
          "policy_version": {
            "title": "Policy Version",
            "type": "integer"
          },
          "principal": {
            "$ref": "#/components/schemas/AuthPrincipalResponse"
          },
          "session": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuthCurrentSessionResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "source": {
            "enum": [
              "key",
              "session"
            ],
            "title": "Source",
            "type": "string"
          }
        },
        "required": [
          "principal",
          "source",
          "password_change_required",
          "policy_version",
          "permissions",
          "session",
          "can_enroll_owner",
          "is_owner",
          "grantable"
        ],
        "title": "AuthMeResponse",
        "type": "object"
      },
      "AuthPrincipalResponse": {
        "additionalProperties": false,
        "properties": {
          "display_name": {
            "title": "Display Name",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "kind": {
            "enum": [
              "user",
              "integration",
              "bootstrap"
            ],
            "title": "Kind",
            "type": "string"
          },
          "version": {
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "kind",
          "display_name",
          "version"
        ],
        "title": "AuthPrincipalResponse",
        "type": "object"
      },
      "AuthSessionCursorResponse": {
        "additionalProperties": false,
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "session_id": {
            "title": "Session Id",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "session_id"
        ],
        "title": "AuthSessionCursorResponse",
        "type": "object"
      },
      "AuthSessionPageResponse": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/AuthSessionSummaryResponse"
            },
            "title": "Items",
            "type": "array"
          },
          "next_cursor": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuthSessionCursorResponse"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "items",
          "next_cursor"
        ],
        "title": "AuthSessionPageResponse",
        "type": "object"
      },
      "AuthSessionResponse": {
        "additionalProperties": false,
        "properties": {
          "ok": {
            "const": true,
            "title": "Ok",
            "type": "boolean"
          },
          "password_change_required": {
            "title": "Password Change Required",
            "type": "boolean"
          }
        },
        "required": [
          "ok",
          "password_change_required"
        ],
        "title": "AuthSessionResponse",
        "type": "object"
      },
      "AuthSessionRevokeResponse": {
        "additionalProperties": false,
        "properties": {
          "changed": {
            "title": "Changed",
            "type": "boolean"
          },
          "policy_version": {
            "title": "Policy Version",
            "type": "integer"
          },
          "session_id": {
            "title": "Session Id",
            "type": "string"
          }
        },
        "required": [
          "session_id",
          "changed",
          "policy_version"
        ],
        "title": "AuthSessionRevokeResponse",
        "type": "object"
      },
      "AuthSessionSummaryResponse": {
        "additionalProperties": false,
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "current": {
            "title": "Current",
            "type": "boolean"
          },
          "expires_at": {
            "format": "date-time",
            "title": "Expires At",
            "type": "string"
          },
          "last_used_at": {
            "format": "date-time",
            "title": "Last Used At",
            "type": "string"
          },
          "revoked_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Revoked At"
          },
          "session_id": {
            "title": "Session Id",
            "type": "string"
          },
          "source_kind": {
            "enum": [
              "password",
              "key",
              "bootstrap"
            ],
            "title": "Source Kind",
            "type": "string"
          }
        },
        "required": [
          "session_id",
          "source_kind",
          "created_at",
          "last_used_at",
          "expires_at",
          "revoked_at",
          "current"
        ],
        "title": "AuthSessionSummaryResponse",
        "type": "object"
      },
      "AuthSetupResponse": {
        "properties": {
          "first_owner": {
            "title": "First Owner",
            "type": "boolean"
          }
        },
        "required": [
          "first_owner"
        ],
        "title": "AuthSetupResponse",
        "type": "object"
      },
      "Body_create_import_imports_post": {
        "properties": {
          "file": {
            "anyOf": [
              {
                "contentMediaType": "application/octet-stream",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "File"
          },
          "manifest": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Manifest"
          }
        },
        "title": "Body_create_import_imports_post",
        "type": "object"
      },
      "Body_send_case_packet_cases__case_id__faxes_post": {
        "properties": {
          "documents": {
            "items": {
              "contentMediaType": "application/octet-stream",
              "type": "string"
            },
            "title": "Documents",
            "type": "array"
          },
          "preview": {
            "default": false,
            "title": "Preview",
            "type": "boolean"
          },
          "titles": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Titles",
            "type": "array"
          },
          "to": {
            "title": "To",
            "type": "string"
          }
        },
        "required": [
          "to",
          "documents"
        ],
        "title": "Body_send_case_packet_cases__case_id__faxes_post",
        "type": "object"
      },
      "Body_send_fax_fax_post": {
        "properties": {
          "file": {
            "contentMediaType": "application/octet-stream",
            "title": "File",
            "type": "string"
          },
          "queue_only": {
            "default": false,
            "title": "Queue Only",
            "type": "boolean"
          },
          "send_by_call": {
            "default": false,
            "description": "Place a real call through your fax provider or carrier even when the number is one of this installation's own numbers, instead of delivering it inside Faxbot. Test faxes use this.",
            "title": "Send By Call",
            "type": "boolean"
          },
          "send_now": {
            "default": false,
            "description": "Send at once even when this number sends faxes together; faxes waiting for it go in the same call.",
            "title": "Send Now",
            "type": "boolean"
          },
          "to": {
            "title": "To",
            "type": "string"
          },
          "urgent": {
            "default": false,
            "description": "Send before other faxes waiting for the same number or line, and without waiting to go together with other faxes.",
            "title": "Urgent",
            "type": "boolean"
          }
        },
        "required": [
          "to",
          "file"
        ],
        "title": "Body_send_fax_fax_post",
        "type": "object"
      },
      "CeilingEntry": {
        "additionalProperties": false,
        "properties": {
          "permission": {
            "maxLength": 100,
            "title": "Permission",
            "type": "string"
          },
          "resource_id": {
            "maxLength": 100,
            "minLength": 1,
            "title": "Resource Id",
            "type": "string"
          }
        },
        "required": [
          "permission",
          "resource_id"
        ],
        "title": "CeilingEntry",
        "type": "object"
      },
      "ConfigurationInputError": {
        "additionalProperties": false,
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "title": "Loc",
            "type": "array"
          },
          "msg": {
            "const": "Invalid configuration input.",
            "title": "Msg",
            "type": "string"
          },
          "type": {
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "loc",
          "type",
          "msg"
        ],
        "title": "ConfigurationInputError",
        "type": "object"
      },
      "ConfigurationValidationErrorResponse": {
        "additionalProperties": false,
        "examples": [
          {
            "detail": [
              {
                "loc": [
                  "body",
                  "max_file_size_mb"
                ],
                "msg": "Invalid configuration input.",
                "type": "int_parsing"
              }
            ]
          }
        ],
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ConfigurationInputError"
            },
            "title": "Detail",
            "type": "array"
          }
        },
        "required": [
          "detail"
        ],
        "title": "ConfigurationValidationErrorResponse",
        "type": "object"
      },
      "ConfigurationWriteMeta": {
        "additionalProperties": false,
        "properties": {
          "active_revision_id": {
            "maxLength": 40,
            "minLength": 1,
            "pattern": "^[ -~]+$",
            "title": "Active Revision Id",
            "type": "string"
          },
          "apply_state": {
            "enum": [
              "applied",
              "pending_restart"
            ],
            "title": "Apply State",
            "type": "string"
          },
          "desired_revision_id": {
            "maxLength": 40,
            "minLength": 1,
            "pattern": "^[ -~]+$",
            "title": "Desired Revision Id",
            "type": "string"
          },
          "generation": {
            "minimum": 1.0,
            "title": "Generation",
            "type": "integer"
          },
          "restart_recommended": {
            "title": "Restart Recommended",
            "type": "boolean"
          }
        },
        "required": [
          "active_revision_id",
          "desired_revision_id",
          "generation",
          "apply_state",
          "restart_recommended"
        ],
        "title": "ConfigurationWriteMeta",
        "type": "object"
      },
      "ConfigurationWriteResponse": {
        "additionalProperties": false,
        "examples": [
          {
            "_meta": {
              "active_revision_id": "00000000-0000-4000-8000-000000000001",
              "apply_state": "applied",
              "desired_revision_id": "00000000-0000-4000-8000-000000000001",
              "generation": 2,
              "restart_recommended": false
            },
            "changed": true,
            "ok": true
          },
          {
            "_meta": {
              "active_revision_id": "00000000-0000-4000-8000-000000000001",
              "apply_state": "pending_restart",
              "desired_revision_id": "00000000-0000-4000-8000-000000000002",
              "generation": 3,
              "restart_recommended": true
            },
            "changed": true,
            "ok": true
          }
        ],
        "properties": {
          "_meta": {
            "$ref": "#/components/schemas/ConfigurationWriteMeta"
          },
          "changed": {
            "title": "Changed",
            "type": "boolean"
          },
          "ok": {
            "const": true,
            "title": "Ok",
            "type": "boolean"
          }
        },
        "required": [
          "ok",
          "changed",
          "_meta"
        ],
        "title": "ConfigurationWriteResponse",
        "type": "object"
      },
      "ConfirmIn": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "maxLength": 20,
            "minLength": 8,
            "title": "Code",
            "type": "string"
          }
        },
        "required": [
          "code"
        ],
        "title": "ConfirmIn",
        "type": "object"
      },
      "ConnectorIn": {
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "default": true,
            "title": "Enabled",
            "type": "boolean"
          },
          "from_address": {
            "maxLength": 320,
            "title": "From Address",
            "type": "string"
          },
          "host": {
            "maxLength": 255,
            "title": "Host",
            "type": "string"
          },
          "match_number": {
            "anyOf": [
              {
                "maxLength": 64,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Match Number"
          },
          "name": {
            "maxLength": 100,
            "title": "Name",
            "type": "string"
          },
          "password": {
            "anyOf": [
              {
                "maxLength": 1024,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Password"
          },
          "port": {
            "default": 587,
            "title": "Port",
            "type": "integer"
          },
          "recipients": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              }
            ],
            "maxLength": 20,
            "title": "Recipients"
          },
          "security": {
            "default": "starttls",
            "title": "Security",
            "type": "string"
          },
          "subject_template": {
            "default": "Fax from {from_number}",
            "maxLength": 200,
            "title": "Subject Template",
            "type": "string"
          },
          "username": {
            "default": "",
            "maxLength": 200,
            "title": "Username",
            "type": "string"
          },
          "version": {
            "anyOf": [
              {
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version"
          }
        },
        "required": [
          "name",
          "host",
          "from_address",
          "recipients"
        ],
        "title": "ConnectorIn",
        "type": "object"
      },
      "ConsoleBrandingResponse": {
        "additionalProperties": false,
        "properties": {
          "docs_base": {
            "title": "Docs Base",
            "type": "string"
          },
          "logo_path": {
            "const": "/admin/ui/faxbot_full_logo.png",
            "title": "Logo Path",
            "type": "string"
          }
        },
        "required": [
          "docs_base",
          "logo_path"
        ],
        "title": "ConsoleBrandingResponse",
        "type": "object"
      },
      "ConsoleContextResponse": {
        "additionalProperties": false,
        "properties": {
          "active_revision_id": {
            "title": "Active Revision Id",
            "type": "string"
          },
          "branding": {
            "$ref": "#/components/schemas/ConsoleBrandingResponse"
          },
          "generation": {
            "title": "Generation",
            "type": "integer"
          },
          "inbound_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Inbound Enabled"
          },
          "navigation": {
            "$ref": "#/components/schemas/ConsoleNavigationResponse"
          },
          "permissions": {
            "items": {
              "type": "string"
            },
            "title": "Permissions",
            "type": "array"
          },
          "policy_version": {
            "title": "Policy Version",
            "type": "integer"
          },
          "provider_names": {
            "additionalProperties": {
              "type": "string"
            },
            "default": {},
            "title": "Provider Names",
            "type": "object"
          },
          "provider_view": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConsoleProviderResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "send": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConsoleSendResponse"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "policy_version",
          "active_revision_id",
          "generation",
          "permissions",
          "navigation",
          "send",
          "inbound_enabled",
          "branding",
          "provider_view"
        ],
        "title": "ConsoleContextResponse",
        "type": "object"
      },
      "ConsoleNavigationResponse": {
        "additionalProperties": false,
        "properties": {
          "inbox": {
            "title": "Inbox",
            "type": "boolean"
          },
          "jobs": {
            "title": "Jobs",
            "type": "boolean"
          },
          "send": {
            "title": "Send",
            "type": "boolean"
          },
          "work": {
            "default": false,
            "title": "Work",
            "type": "boolean"
          }
        },
        "required": [
          "jobs",
          "inbox",
          "send"
        ],
        "title": "ConsoleNavigationResponse",
        "type": "object"
      },
      "ConsoleProviderResponse": {
        "additionalProperties": false,
        "properties": {
          "active_inbound": {
            "title": "Active Inbound",
            "type": "string"
          },
          "active_outbound": {
            "title": "Active Outbound",
            "type": "string"
          },
          "extra_routes": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Extra Routes",
            "type": "array"
          },
          "install_enabled": {
            "title": "Install Enabled",
            "type": "boolean"
          },
          "plugins_enabled": {
            "title": "Plugins Enabled",
            "type": "boolean"
          },
          "trunk_preset": {
            "default": "",
            "title": "Trunk Preset",
            "type": "string"
          }
        },
        "required": [
          "plugins_enabled",
          "install_enabled",
          "active_outbound",
          "active_inbound"
        ],
        "title": "ConsoleProviderResponse",
        "type": "object"
      },
      "ConsoleSendResponse": {
        "additionalProperties": false,
        "properties": {
          "default_country": {
            "title": "Default Country",
            "type": "string"
          },
          "fax_disabled": {
            "title": "Fax Disabled",
            "type": "boolean"
          },
          "max_file_size_mb": {
            "title": "Max File Size Mb",
            "type": "integer"
          },
          "number_example": {
            "title": "Number Example",
            "type": "string"
          }
        },
        "required": [
          "fax_disabled",
          "max_file_size_mb",
          "default_country",
          "number_example"
        ],
        "title": "ConsoleSendResponse",
        "type": "object"
      },
      "CreateAPIKeyIn": {
        "properties": {
          "expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "note": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Note"
          },
          "owner": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Owner"
          },
          "scopes": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scopes"
          }
        },
        "title": "CreateAPIKeyIn",
        "type": "object"
      },
      "CreateAPIKeyOut": {
        "properties": {
          "expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "key_id": {
            "title": "Key Id",
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "owner": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Owner"
          },
          "scopes": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Scopes",
            "type": "array"
          },
          "token": {
            "title": "Token",
            "type": "string"
          }
        },
        "required": [
          "key_id",
          "token"
        ],
        "title": "CreateAPIKeyOut",
        "type": "object"
      },
      "DestinationPatch": {
        "additionalProperties": false,
        "properties": {
          "accepts_references": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Accepts References"
          },
          "display_name": {
            "anyOf": [
              {
                "maxLength": 200,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name"
          },
          "max_calls": {
            "anyOf": [
              {
                "maximum": 20.0,
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Calls"
          },
          "notes": {
            "anyOf": [
              {
                "maxLength": 2000,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notes"
          },
          "preferred_route": {
            "anyOf": [
              {
                "maxLength": 64,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Preferred Route"
          },
          "version": {
            "anyOf": [
              {
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version"
          }
        },
        "title": "DestinationPatch",
        "type": "object"
      },
      "DoneIn": {
        "additionalProperties": false,
        "properties": {
          "note": {
            "maxLength": 400,
            "title": "Note",
            "type": "string"
          },
          "version": {
            "minimum": 1.0,
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "note",
          "version"
        ],
        "title": "DoneIn",
        "type": "object"
      },
      "EnrollIn": {
        "additionalProperties": false,
        "properties": {
          "card": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "string"
              }
            ],
            "title": "Card"
          }
        },
        "required": [
          "card"
        ],
        "title": "EnrollIn",
        "type": "object"
      },
      "EntityRef": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "maxLength": 100,
            "minLength": 1,
            "title": "Id",
            "type": "string"
          },
          "version": {
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "version"
        ],
        "title": "EntityRef",
        "type": "object"
      },
      "FSOutboundResultIn": {
        "properties": {
          "attempt_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Attempt Id"
          },
          "fax_document_transferred_pages": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fax Document Transferred Pages"
          },
          "fax_result_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fax Result Code"
          },
          "fax_result_text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fax Result Text"
          },
          "fax_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fax Status"
          },
          "job_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Job Id"
          },
          "uuid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Uuid"
          }
        },
        "title": "FSOutboundResultIn",
        "type": "object"
      },
      "FaxJobOut": {
        "properties": {
          "backend": {
            "default": "sip",
            "title": "Backend",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "delivery_state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Delivery State"
          },
          "delivery_version": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Delivery Version"
          },
          "dispatch_mode": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dispatch Mode"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "pages": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pages"
          },
          "provider_sid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Sid"
          },
          "reconciliation_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reconciliation Reason"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "to": {
            "title": "To",
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "id",
          "to",
          "status",
          "created_at",
          "updated_at"
        ],
        "title": "FaxJobOut",
        "type": "object"
      },
      "FaxLimits": {
        "additionalProperties": false,
        "properties": {
          "ecm": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ecm"
          },
          "max_rate": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Rate"
          }
        },
        "title": "FaxLimits",
        "type": "object"
      },
      "GroupCreate": {
        "additionalProperties": false,
        "properties": {
          "description": {
            "default": "",
            "maxLength": 4000,
            "title": "Description",
            "type": "string"
          },
          "enabled": {
            "default": true,
            "title": "Enabled",
            "type": "boolean"
          },
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "name": {
            "maxLength": 4000,
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "name",
          "expected_policy_version"
        ],
        "title": "GroupCreate",
        "type": "object"
      },
      "GroupPatch": {
        "additionalProperties": false,
        "properties": {
          "description": {
            "anyOf": [
              {
                "maxLength": 4000,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled"
          },
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "name": {
            "anyOf": [
              {
                "maxLength": 4000,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "version": {
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "version",
          "expected_policy_version"
        ],
        "title": "GroupPatch",
        "type": "object"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
          }
        },
        "title": "HTTPValidationError",
        "type": "object"
      },
      "ImportManifestsIn": {
        "properties": {
          "items": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Items"
          },
          "markdown": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Markdown"
          }
        },
        "title": "ImportManifestsIn",
        "type": "object"
      },
      "InboundEarlierFailure": {
        "properties": {
          "attempts": {
            "title": "Attempts",
            "type": "integer"
          },
          "problem": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Problem"
          },
          "resumed_at": {
            "format": "date-time",
            "title": "Resumed At",
            "type": "string"
          },
          "resumed_by": {
            "title": "Resumed By",
            "type": "string"
          },
          "resumed_by_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Resumed By Name"
          },
          "stopped_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Stopped At"
          }
        },
        "required": [
          "attempts",
          "resumed_at",
          "resumed_by"
        ],
        "title": "InboundEarlierFailure",
        "type": "object"
      },
      "InboundFaxOut": {
        "properties": {
          "backend": {
            "title": "Backend",
            "type": "string"
          },
          "can_fetch_again": {
            "default": false,
            "title": "Can Fetch Again",
            "type": "boolean"
          },
          "created_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "earlier_failures": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/InboundEarlierFailure"
            },
            "title": "Earlier Failures",
            "type": "array"
          },
          "earlier_failures_text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Earlier Failures Text"
          },
          "fr": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fr"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "is_test": {
            "default": false,
            "title": "Is Test",
            "type": "boolean"
          },
          "mailbox": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mailbox"
          },
          "pages": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pages"
          },
          "problem": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Problem"
          },
          "provider_fax_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Fax Id"
          },
          "provider_note": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Note"
          },
          "received_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Received At"
          },
          "recovered": {
            "default": false,
            "title": "Recovered",
            "type": "boolean"
          },
          "retry_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Retry At"
          },
          "sha256": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sha256"
          },
          "size_bytes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Size Bytes"
          },
          "source_received_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source Received At"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "status_text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status Text"
          },
          "to": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "To"
          },
          "updated_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          }
        },
        "required": [
          "id",
          "status",
          "backend"
        ],
        "title": "InboundFaxOut",
        "type": "object"
      },
      "IntegrationCreate": {
        "additionalProperties": false,
        "properties": {
          "display_name": {
            "maxLength": 4000,
            "title": "Display Name",
            "type": "string"
          },
          "enabled": {
            "default": true,
            "title": "Enabled",
            "type": "boolean"
          },
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          }
        },
        "required": [
          "display_name",
          "expected_policy_version"
        ],
        "title": "IntegrationCreate",
        "type": "object"
      },
      "KeyApprove": {
        "additionalProperties": false,
        "properties": {
          "ceiling": {
            "items": {
              "$ref": "#/components/schemas/CeilingEntry"
            },
            "maxItems": 200,
            "title": "Ceiling",
            "type": "array"
          },
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "principal": {
            "$ref": "#/components/schemas/EntityRef"
          },
          "version": {
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "principal",
          "ceiling",
          "version",
          "expected_policy_version"
        ],
        "title": "KeyApprove",
        "type": "object"
      },
      "KeyCreate": {
        "additionalProperties": false,
        "properties": {
          "ceiling": {
            "items": {
              "$ref": "#/components/schemas/CeilingEntry"
            },
            "maxItems": 200,
            "title": "Ceiling",
            "type": "array"
          },
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "name": {
            "anyOf": [
              {
                "maxLength": 4000,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "note": {
            "anyOf": [
              {
                "maxLength": 4000,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Note"
          },
          "principal": {
            "$ref": "#/components/schemas/EntityRef"
          }
        },
        "required": [
          "principal",
          "ceiling",
          "expected_policy_version"
        ],
        "title": "KeyCreate",
        "type": "object"
      },
      "KeyLogin": {
        "additionalProperties": false,
        "properties": {
          "api_key": {
            "maxLength": 1048576,
            "minLength": 1,
            "title": "Api Key",
            "type": "string"
          }
        },
        "required": [
          "api_key"
        ],
        "title": "KeyLogin",
        "type": "object"
      },
      "KeyPatch": {
        "additionalProperties": false,
        "properties": {
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "name": {
            "anyOf": [
              {
                "maxLength": 4000,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "note": {
            "anyOf": [
              {
                "maxLength": 4000,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Note"
          },
          "version": {
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "version",
          "expected_policy_version"
        ],
        "title": "KeyPatch",
        "type": "object"
      },
      "MailboxCreate": {
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "default": true,
            "title": "Enabled",
            "type": "boolean"
          },
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "label": {
            "maxLength": 4000,
            "title": "Label",
            "type": "string"
          }
        },
        "required": [
          "label",
          "expected_policy_version"
        ],
        "title": "MailboxCreate",
        "type": "object"
      },
      "MailboxPatch": {
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled"
          },
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "label": {
            "anyOf": [
              {
                "maxLength": 4000,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Label"
          },
          "version": {
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "version",
          "expected_policy_version"
        ],
        "title": "MailboxPatch",
        "type": "object"
      },
      "MailboxSettingIn": {
        "additionalProperties": false,
        "properties": {
          "acknowledge_hours": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Acknowledge Hours"
          },
          "backup_principal_id": {
            "anyOf": [
              {
                "maxLength": 40,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Backup Principal Id"
          },
          "mailbox_id": {
            "maxLength": 40,
            "minLength": 1,
            "title": "Mailbox Id",
            "type": "string"
          },
          "version": {
            "default": 0,
            "minimum": 0.0,
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "mailbox_id"
        ],
        "title": "MailboxSettingIn",
        "type": "object"
      },
      "ManifestIn": {
        "properties": {
          "manifest": {
            "additionalProperties": true,
            "title": "Manifest",
            "type": "object"
          }
        },
        "required": [
          "manifest"
        ],
        "title": "ManifestIn",
        "type": "object"
      },
      "ManifestValidateIn": {
        "properties": {
          "credentials": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credentials"
          },
          "file_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "File Url"
          },
          "from_number": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "From Number"
          },
          "manifest": {
            "additionalProperties": true,
            "title": "Manifest",
            "type": "object"
          },
          "render_only": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": true,
            "title": "Render Only"
          },
          "settings": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Settings"
          },
          "to": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "To"
          }
        },
        "required": [
          "manifest"
        ],
        "title": "ManifestValidateIn",
        "type": "object"
      },
      "MemberAdd": {
        "additionalProperties": false,
        "properties": {
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "group_version": {
            "title": "Group Version",
            "type": "integer"
          },
          "principal_id": {
            "maxLength": 100,
            "minLength": 1,
            "title": "Principal Id",
            "type": "string"
          },
          "principal_version": {
            "title": "Principal Version",
            "type": "integer"
          }
        },
        "required": [
          "principal_id",
          "principal_version",
          "group_version",
          "expected_policy_version"
        ],
        "title": "MemberAdd",
        "type": "object"
      },
      "MemberRemove": {
        "additionalProperties": false,
        "properties": {
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "group_version": {
            "title": "Group Version",
            "type": "integer"
          },
          "membership_version": {
            "title": "Membership Version",
            "type": "integer"
          }
        },
        "required": [
          "membership_version",
          "group_version",
          "expected_policy_version"
        ],
        "title": "MemberRemove",
        "type": "object"
      },
      "MobilePairOut": {
        "properties": {
          "base_urls": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "title": "Base Urls",
            "type": "object"
          },
          "token": {
            "title": "Token",
            "type": "string"
          }
        },
        "required": [
          "base_urls",
          "token"
        ],
        "title": "MobilePairOut",
        "type": "object"
      },
      "NumberSetting": {
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          },
          "max_pages": {
            "anyOf": [
              {
                "maximum": 200.0,
                "minimum": 2.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Pages"
          },
          "max_wait_minutes": {
            "anyOf": [
              {
                "maximum": 60.0,
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Wait Minutes"
          },
          "mixed_senders": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mixed Senders"
          },
          "recipient_agreed": {
            "default": false,
            "title": "Recipient Agreed",
            "type": "boolean"
          },
          "version": {
            "anyOf": [
              {
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version"
          }
        },
        "required": [
          "enabled"
        ],
        "title": "NumberSetting",
        "type": "object"
      },
      "OwnerEnrollmentInput": {
        "additionalProperties": false,
        "properties": {
          "display_name": {
            "maxLength": 200,
            "minLength": 1,
            "title": "Display Name",
            "type": "string"
          },
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "login": {
            "maxLength": 128,
            "minLength": 1,
            "title": "Login",
            "type": "string"
          }
        },
        "required": [
          "login",
          "display_name",
          "expected_policy_version"
        ],
        "title": "OwnerEnrollmentInput",
        "type": "object"
      },
      "PairOut": {
        "properties": {
          "code": {
            "title": "Code",
            "type": "string"
          },
          "expires_at": {
            "format": "date-time",
            "title": "Expires At",
            "type": "string"
          }
        },
        "required": [
          "code",
          "expires_at"
        ],
        "title": "PairOut",
        "type": "object"
      },
      "PasswordChange": {
        "additionalProperties": false,
        "properties": {
          "current_password": {
            "maxLength": 1024,
            "minLength": 1,
            "title": "Current Password",
            "type": "string"
          },
          "password": {
            "maxLength": 1024,
            "minLength": 1,
            "title": "Password",
            "type": "string"
          }
        },
        "required": [
          "current_password",
          "password"
        ],
        "title": "PasswordChange",
        "type": "object"
      },
      "PasswordLogin": {
        "additionalProperties": false,
        "properties": {
          "login": {
            "maxLength": 128,
            "minLength": 1,
            "title": "Login",
            "type": "string"
          },
          "password": {
            "maxLength": 1024,
            "minLength": 1,
            "title": "Password",
            "type": "string"
          }
        },
        "required": [
          "login",
          "password"
        ],
        "title": "PasswordLogin",
        "type": "object"
      },
      "PersistSettingsIn": {
        "additionalProperties": false,
        "properties": {
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Content"
          },
          "path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Path"
          }
        },
        "title": "PersistSettingsIn",
        "type": "object"
      },
      "ProviderIdentityConfirmation": {
        "additionalProperties": false,
        "properties": {
          "confirm_original_account": {
            "title": "Confirm Original Account",
            "type": "boolean"
          },
          "expected_version": {
            "exclusiveMinimum": 0.0,
            "title": "Expected Version",
            "type": "integer"
          },
          "provider_sid": {
            "pattern": "^[A-Za-z0-9_-]{1,100}$",
            "title": "Provider Sid",
            "type": "string"
          }
        },
        "required": [
          "expected_version",
          "provider_sid",
          "confirm_original_account"
        ],
        "title": "ProviderIdentityConfirmation",
        "type": "object"
      },
      "PublicDetailErrorResponse": {
        "additionalProperties": false,
        "properties": {
          "detail": {
            "title": "Detail",
            "type": "string"
          }
        },
        "required": [
          "detail"
        ],
        "title": "PublicDetailErrorResponse",
        "type": "object"
      },
      "RateCardIn": {
        "additionalProperties": false,
        "properties": {
          "billing_increment_seconds": {
            "default": 60,
            "title": "Billing Increment Seconds",
            "type": "integer"
          },
          "captured_on": {
            "format": "date-time",
            "title": "Captured On",
            "type": "string"
          },
          "currency": {
            "default": "USD",
            "title": "Currency",
            "type": "string"
          },
          "direction": {
            "default": "outbound",
            "title": "Direction",
            "type": "string"
          },
          "included_in_plan": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Included In Plan"
          },
          "label": {
            "maxLength": 100,
            "title": "Label",
            "type": "string"
          },
          "minimum_seconds": {
            "default": 0,
            "title": "Minimum Seconds",
            "type": "integer"
          },
          "monthly_fee": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Monthly Fee"
          },
          "per_call": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              }
            ],
            "default": "0",
            "title": "Per Call"
          },
          "per_minute": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              }
            ],
            "default": "0",
            "title": "Per Minute"
          },
          "per_page": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              }
            ],
            "default": "0",
            "title": "Per Page"
          },
          "provider_id": {
            "maxLength": 64,
            "title": "Provider Id",
            "type": "string"
          },
          "provider_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Name"
          },
          "source_url": {
            "anyOf": [
              {
                "maxLength": 512,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source Url"
          }
        },
        "required": [
          "provider_id",
          "label",
          "captured_on"
        ],
        "title": "RateCardIn",
        "type": "object"
      },
      "RateCardsIn": {
        "additionalProperties": false,
        "properties": {
          "cards": {
            "items": {
              "$ref": "#/components/schemas/RateCardIn"
            },
            "maxItems": 100,
            "title": "Cards",
            "type": "array"
          }
        },
        "required": [
          "cards"
        ],
        "title": "RateCardsIn",
        "type": "object"
      },
      "RoleCreate": {
        "additionalProperties": false,
        "properties": {
          "description": {
            "default": "",
            "maxLength": 4000,
            "title": "Description",
            "type": "string"
          },
          "enabled": {
            "default": true,
            "title": "Enabled",
            "type": "boolean"
          },
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "name": {
            "maxLength": 4000,
            "title": "Name",
            "type": "string"
          },
          "permissions": {
            "items": {
              "maxLength": 100,
              "type": "string"
            },
            "maxItems": 200,
            "title": "Permissions",
            "type": "array"
          }
        },
        "required": [
          "name",
          "permissions",
          "expected_policy_version"
        ],
        "title": "RoleCreate",
        "type": "object"
      },
      "RolePatch": {
        "additionalProperties": false,
        "properties": {
          "description": {
            "anyOf": [
              {
                "maxLength": 4000,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled"
          },
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "name": {
            "anyOf": [
              {
                "maxLength": 4000,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "permissions": {
            "anyOf": [
              {
                "items": {
                  "maxLength": 100,
                  "type": "string"
                },
                "maxItems": 200,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Permissions"
          },
          "version": {
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "version",
          "expected_policy_version"
        ],
        "title": "RolePatch",
        "type": "object"
      },
      "RotateAPIKeyOut": {
        "properties": {
          "key_id": {
            "title": "Key Id",
            "type": "string"
          },
          "token": {
            "title": "Token",
            "type": "string"
          }
        },
        "required": [
          "key_id",
          "token"
        ],
        "title": "RotateAPIKeyOut",
        "type": "object"
      },
      "RuleCreate": {
        "additionalProperties": false,
        "properties": {
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "mailbox_id": {
            "maxLength": 100,
            "minLength": 1,
            "title": "Mailbox Id",
            "type": "string"
          },
          "to_number": {
            "maxLength": 100,
            "title": "To Number",
            "type": "string"
          }
        },
        "required": [
          "to_number",
          "mailbox_id",
          "expected_policy_version"
        ],
        "title": "RuleCreate",
        "type": "object"
      },
      "RulePatch": {
        "additionalProperties": false,
        "properties": {
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "mailbox_id": {
            "anyOf": [
              {
                "maxLength": 100,
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mailbox Id"
          },
          "to_number": {
            "anyOf": [
              {
                "maxLength": 100,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "To Number"
          },
          "version": {
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "version",
          "expected_policy_version"
        ],
        "title": "RulePatch",
        "type": "object"
      },
      "SessionRevoke": {
        "additionalProperties": false,
        "properties": {
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          }
        },
        "required": [
          "expected_policy_version"
        ],
        "title": "SessionRevoke",
        "type": "object"
      },
      "SettingsIn": {
        "additionalProperties": false,
        "properties": {
          "mailboxes": {
            "items": {
              "$ref": "#/components/schemas/MailboxSettingIn"
            },
            "maxItems": 200,
            "minItems": 1,
            "title": "Mailboxes",
            "type": "array"
          }
        },
        "required": [
          "mailboxes"
        ],
        "title": "SettingsIn",
        "type": "object"
      },
      "SimulateInboundIn": {
        "properties": {
          "backend": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Backend"
          },
          "fr": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fr"
          },
          "pages": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": 1,
            "title": "Pages"
          },
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": "received",
            "title": "Status"
          },
          "to": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "To"
          }
        },
        "title": "SimulateInboundIn",
        "type": "object"
      },
      "SubjectRef": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "maxLength": 100,
            "minLength": 1,
            "title": "Id",
            "type": "string"
          },
          "kind": {
            "enum": [
              "principal",
              "group"
            ],
            "title": "Kind",
            "type": "string"
          },
          "version": {
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "kind",
          "id",
          "version"
        ],
        "title": "SubjectRef",
        "type": "object"
      },
      "TerminalTicketOut": {
        "properties": {
          "expires_at": {
            "format": "date-time",
            "title": "Expires At",
            "type": "string"
          },
          "ticket": {
            "title": "Ticket",
            "type": "string"
          }
        },
        "required": [
          "ticket",
          "expires_at"
        ],
        "title": "TerminalTicketOut",
        "type": "object"
      },
      "UpdatePluginConfigIn": {
        "additionalProperties": false,
        "description": "Submit only changed provider fields and the loaded expected_revision_id. An empty object submits no field edits.",
        "examples": [
          {}
        ],
        "properties": {
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled"
          },
          "expected_revision_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expected Revision Id"
          },
          "role": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Role"
          },
          "settings": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Settings"
          }
        },
        "title": "UpdatePluginConfigIn",
        "type": "object"
      },
      "UpdateSettingsRequest": {
        "additionalProperties": false,
        "description": "Submit only changed fields and the loaded expected_revision_id. An empty object submits no field edits.",
        "examples": [
          {}
        ],
        "properties": {
          "admin_allow_restart": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Admin Allow Restart"
          },
          "ami_host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ami Host"
          },
          "ami_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ami Password"
          },
          "ami_port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ami Port"
          },
          "ami_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ami Username"
          },
          "api_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Api Key"
          },
          "artifact_ttl_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Artifact Ttl Days"
          },
          "asterisk_inbound_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Asterisk Inbound Secret"
          },
          "audit_log_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Audit Log Enabled"
          },
          "audit_log_file": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Audit Log File"
          },
          "audit_log_format": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Audit Log Format"
          },
          "audit_log_syslog": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Audit Log Syslog"
          },
          "audit_log_syslog_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Audit Log Syslog Address"
          },
          "backend": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Backend"
          },
          "cleanup_interval_minutes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cleanup Interval Minutes"
          },
          "database_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Database Url"
          },
          "direct_allow_private_peers": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Direct Allow Private Peers"
          },
          "direct_delivery_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Direct Delivery Enabled"
          },
          "direct_fax_number": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Direct Fax Number"
          },
          "direct_organization": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Direct Organization"
          },
          "docs_base_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Docs Base Url"
          },
          "documo_api_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Documo Api Key"
          },
          "documo_base_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Documo Base Url"
          },
          "documo_use_sandbox": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Documo Use Sandbox"
          },
          "efax_api_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Efax Api Key"
          },
          "efax_app_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Efax App Id"
          },
          "efax_caller_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Efax Caller Id"
          },
          "efax_csid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Efax Csid"
          },
          "efax_delete_after_download": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Efax Delete After Download"
          },
          "efax_poll_seconds": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Efax Poll Seconds"
          },
          "efax_user_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Efax User Id"
          },
          "efax_webhook_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Efax Webhook Secret"
          },
          "enable_mcp_http": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enable Mcp Http"
          },
          "enable_mcp_sse": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enable Mcp Sse"
          },
          "enable_persisted_settings": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enable Persisted Settings"
          },
          "enable_s3_diagnostics": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enable S3 Diagnostics"
          },
          "enforce_public_https": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enforce Public Https"
          },
          "expected_revision_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expected Revision Id"
          },
          "fax_data_dir": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fax Data Dir"
          },
          "fax_default_country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fax Default Country"
          },
          "fax_disabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fax Disabled"
          },
          "fax_header": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fax Header"
          },
          "fax_station_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fax Station Id"
          },
          "faxbot_config_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Faxbot Config Path"
          },
          "feature_plugin_install": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Feature Plugin Install"
          },
          "feature_v3_plugins": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Feature V3 Plugins"
          },
          "fs_caller_id_number": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fs Caller Id Number"
          },
          "fs_esl_host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fs Esl Host"
          },
          "fs_esl_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fs Esl Password"
          },
          "fs_esl_port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fs Esl Port"
          },
          "fs_gateway_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fs Gateway Name"
          },
          "fs_t38_enable": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fs T38 Enable"
          },
          "humblefax_access_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Humblefax Access Key"
          },
          "humblefax_from_number": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Humblefax From Number"
          },
          "humblefax_secret_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Humblefax Secret Key"
          },
          "inbound_backend": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Inbound Backend"
          },
          "inbound_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Inbound Enabled"
          },
          "inbound_get_rpm": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Inbound Get Rpm"
          },
          "inbound_list_rpm": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Inbound List Rpm"
          },
          "inbound_retention_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Inbound Retention Days"
          },
          "inbound_token_ttl_minutes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Inbound Token Ttl Minutes"
          },
          "intake_email_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Intake Email Enabled"
          },
          "intake_email_from": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Intake Email From"
          },
          "intake_email_subject": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Intake Email Subject"
          },
          "intake_email_to": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Intake Email To"
          },
          "intake_smtp_host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Intake Smtp Host"
          },
          "intake_smtp_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Intake Smtp Password"
          },
          "intake_smtp_port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Intake Smtp Port"
          },
          "intake_smtp_security": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Intake Smtp Security"
          },
          "intake_smtp_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Intake Smtp Username"
          },
          "local_delivery_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Local Delivery Enabled"
          },
          "max_file_size_mb": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max File Size Mb"
          },
          "max_requests_per_minute": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Requests Per Minute"
          },
          "mcp_http_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mcp Http Path"
          },
          "mcp_sse_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mcp Sse Path"
          },
          "mobile_local_base": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mobile Local Base"
          },
          "oauth_audience": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oauth Audience"
          },
          "oauth_issuer": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oauth Issuer"
          },
          "oauth_jwks_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Oauth Jwks Url"
          },
          "outbound_backend": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Outbound Backend"
          },
          "outbound_routes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Outbound Routes"
          },
          "pdf_token_ttl_minutes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pdf Token Ttl Minutes"
          },
          "persisted_env_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Persisted Env Path"
          },
          "phaxio_api_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phaxio Api Key"
          },
          "phaxio_api_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phaxio Api Secret"
          },
          "phaxio_callback_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phaxio Callback Token"
          },
          "phaxio_inbound_verify_signature": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phaxio Inbound Verify Signature"
          },
          "phaxio_status_callback_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phaxio Status Callback Url"
          },
          "phaxio_verify_signature": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phaxio Verify Signature"
          },
          "providers_dir": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Providers Dir"
          },
          "public_api_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Public Api Url"
          },
          "require_api_key": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Require Api Key"
          },
          "require_mcp_oauth": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Require Mcp Oauth"
          },
          "route_min_success_percent": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Route Min Success Percent"
          },
          "s3_bucket": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Bucket"
          },
          "s3_endpoint_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Endpoint Url"
          },
          "s3_kms_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Kms Key Id"
          },
          "s3_prefix": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Prefix"
          },
          "s3_region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Region"
          },
          "signalwire_api_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Signalwire Api Token"
          },
          "signalwire_fax_from_e164": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Signalwire Fax From E164"
          },
          "signalwire_project_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Signalwire Project Id"
          },
          "signalwire_sms_from_e164": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Signalwire Sms From E164"
          },
          "signalwire_space_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Signalwire Space Url"
          },
          "signalwire_status_callback_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Signalwire Status Callback Url"
          },
          "signalwire_status_poll_seconds": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Signalwire Status Poll Seconds"
          },
          "signalwire_webhook_signing_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Signalwire Webhook Signing Key"
          },
          "sinch_api_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sinch Api Key"
          },
          "sinch_api_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sinch Api Secret"
          },
          "sinch_base_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sinch Base Url"
          },
          "sinch_inbound_basic_pass": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sinch Inbound Basic Pass"
          },
          "sinch_inbound_basic_user": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sinch Inbound Basic User"
          },
          "sinch_project_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sinch Project Id"
          },
          "sip_external_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip External Address"
          },
          "sip_fax_compression": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Fax Compression"
          },
          "sip_fax_ecm": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Fax Ecm"
          },
          "sip_fax_fine": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Fax Fine"
          },
          "sip_fax_lines": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Fax Lines"
          },
          "sip_fax_max_rate": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Fax Max Rate"
          },
          "sip_fax_preference_header": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Fax Preference Header"
          },
          "sip_public_address_check_minutes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Public Address Check Minutes"
          },
          "sip_router_ports": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Router Ports"
          },
          "sip_sslfax_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Sslfax Enabled"
          },
          "sip_sslfax_listener_port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Sslfax Listener Port"
          },
          "sip_t38_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip T38 Enabled"
          },
          "sip_t38_error_correction": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip T38 Error Correction"
          },
          "sip_t38_max_datagram": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip T38 Max Datagram"
          },
          "sip_trunk_auth": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Trunk Auth"
          },
          "sip_trunk_caller_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Trunk Caller Id"
          },
          "sip_trunk_calls_per_second": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Trunk Calls Per Second"
          },
          "sip_trunk_codecs": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Trunk Codecs"
          },
          "sip_trunk_dial_format": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Trunk Dial Format"
          },
          "sip_trunk_dial_prefix": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Trunk Dial Prefix"
          },
          "sip_trunk_dids": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Trunk Dids"
          },
          "sip_trunk_host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Trunk Host"
          },
          "sip_trunk_max_calls": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Trunk Max Calls"
          },
          "sip_trunk_outbound_proxy": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Trunk Outbound Proxy"
          },
          "sip_trunk_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Trunk Password"
          },
          "sip_trunk_port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Trunk Port"
          },
          "sip_trunk_preset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Trunk Preset"
          },
          "sip_trunk_transport": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Trunk Transport"
          },
          "sip_trunk_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sip Trunk Username"
          },
          "storage_backend": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Storage Backend"
          },
          "telnyx_api_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Telnyx Api Key"
          },
          "time_zone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Time Zone"
          },
          "work_acknowledge_hours": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Work Acknowledge Hours"
          }
        },
        "title": "UpdateSettingsRequest",
        "type": "object"
      },
      "UserCreate": {
        "additionalProperties": false,
        "properties": {
          "display_name": {
            "maxLength": 4000,
            "title": "Display Name",
            "type": "string"
          },
          "enabled": {
            "default": true,
            "title": "Enabled",
            "type": "boolean"
          },
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "login": {
            "maxLength": 200,
            "title": "Login",
            "type": "string"
          }
        },
        "required": [
          "login",
          "display_name",
          "expected_policy_version"
        ],
        "title": "UserCreate",
        "type": "object"
      },
      "UserPatch": {
        "additionalProperties": false,
        "properties": {
          "display_name": {
            "anyOf": [
              {
                "maxLength": 4000,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name"
          },
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled"
          },
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "login": {
            "anyOf": [
              {
                "maxLength": 200,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Login"
          },
          "version": {
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "version",
          "expected_policy_version"
        ],
        "title": "UserPatch",
        "type": "object"
      },
      "ValidateSettingsRequest": {
        "properties": {
          "ami_host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ami Host"
          },
          "ami_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ami Password"
          },
          "ami_port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ami Port"
          },
          "ami_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ami Username"
          },
          "backend": {
            "title": "Backend",
            "type": "string"
          },
          "efax_api_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Efax Api Key"
          },
          "efax_app_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Efax App Id"
          },
          "efax_user_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Efax User Id"
          },
          "phaxio_api_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phaxio Api Key"
          },
          "phaxio_api_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phaxio Api Secret"
          },
          "sinch_api_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sinch Api Key"
          },
          "sinch_api_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sinch Api Secret"
          },
          "sinch_project_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sinch Project Id"
          }
        },
        "required": [
          "backend"
        ],
        "title": "ValidateSettingsRequest",
        "type": "object"
      },
      "ValidationError": {
        "properties": {
          "ctx": {
            "title": "Context",
            "type": "object"
          },
          "input": {
            "title": "Input"
          },
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "title": "Location",
            "type": "array"
          },
          "msg": {
            "title": "Message",
            "type": "string"
          },
          "type": {
            "title": "Error Type",
            "type": "string"
          }
        },
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError",
        "type": "object"
      },
      "VerificationIn": {
        "additionalProperties": false,
        "properties": {
          "signature": {
            "maxLength": 128,
            "title": "Signature",
            "type": "string"
          },
          "statement": {
            "maxLength": 2048,
            "title": "Statement",
            "type": "string"
          }
        },
        "required": [
          "statement",
          "signature"
        ],
        "title": "VerificationIn",
        "type": "object"
      },
      "VersionIn": {
        "additionalProperties": false,
        "properties": {
          "version": {
            "minimum": 1.0,
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "version"
        ],
        "title": "VersionIn",
        "type": "object"
      },
      "VersionedAction": {
        "additionalProperties": false,
        "properties": {
          "expected_policy_version": {
            "minimum": 1.0,
            "title": "Expected Policy Version",
            "type": "integer"
          },
          "version": {
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "version",
          "expected_policy_version"
        ],
        "title": "VersionedAction",
        "type": "object"
      }
    }
  },
  "info": {
    "contact": {
      "email": "support@faxbot.net",
      "name": "Faxbot Support",
      "url": "https://faxbot.net/"
    },
    "description": "The first and only open-source, self-hostable fax API. Send faxes with a single function call.",
    "license": {
      "name": "MIT",
      "url": "https://github.com/dmontgomery40/faxbot/blob/main/LICENSE"
    },
    "title": "Faxbot API",
    "version": "1.0.0"
  },
  "openapi": "3.1.0",
  "paths": {
    "/_internal/asterisk/inbound": {
      "post": {
        "operationId": "asterisk_inbound__internal_asterisk_inbound_post",
        "parameters": [
          {
            "in": "header",
            "name": "x-internal-secret",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Internal-Secret"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": true,
                "title": "Payload",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Asterisk Inbound",
        "tags": [
          "Inbound"
        ]
      }
    },
    "/_internal/freeswitch/outbound_result": {
      "post": {
        "deprecated": true,
        "description": "Deprecated: FreeSWITCH is removed in the next release.",
        "operationId": "freeswitch_outbound_result__internal_freeswitch_outbound_result_post",
        "parameters": [
          {
            "in": "header",
            "name": "x-internal-secret",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Internal-Secret"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FSOutboundResultIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Freeswitch Outbound Result"
      }
    },
    "/_internal/hylafax/inbound": {
      "post": {
        "description": "A fax the engine received: the same hand-over as Asterisk's, for images in the engine's out folder only.",
        "operationId": "engine_inbound__internal_hylafax_inbound_post",
        "parameters": [
          {
            "in": "header",
            "name": "x-internal-secret",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Internal-Secret"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": true,
                "title": "Payload",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Engine Inbound"
      }
    },
    "/_internal/hylafax/received-failed": {
      "post": {
        "description": "A call the engine answered that left no fax (hylafax/bin/sessions): its record and sentence.",
        "operationId": "engine_receive_failed__internal_hylafax_received_failed_post",
        "parameters": [
          {
            "in": "header",
            "name": "x-internal-secret",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Internal-Secret"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": true,
                "title": "Payload",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Engine Receive Failed"
      }
    },
    "/_internal/hylafax/result": {
      "post": {
        "operationId": "engine_result__internal_hylafax_result_post",
        "parameters": [
          {
            "in": "header",
            "name": "x-internal-secret",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Internal-Secret"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": true,
                "title": "Payload",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Engine Result"
      }
    },
    "/_internal/hylafax/started": {
      "post": {
        "description": "The engine started (again). Every fax it took earlier and never reported on waits for a person\n(uncertain): its call may have reached the other machine, and it is never sent again by itself.\nA result that arrives later still replaces that with the real outcome.",
        "operationId": "engine_started__internal_hylafax_started_post",
        "parameters": [
          {
            "in": "header",
            "name": "x-internal-secret",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Internal-Secret"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": true,
                "title": "Payload",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Engine Started"
      }
    },
    "/access/assignments": {
      "get": {
        "operationId": "list_assignments_access_assignments_get",
        "parameters": [
          {
            "in": "query",
            "name": "subject_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Subject Id"
            }
          },
          {
            "in": "query",
            "name": "resource_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Resource Id"
            }
          },
          {
            "description": "Opaque cursor from the previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 1024,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Opaque cursor from the previous page.",
              "title": "Cursor"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Role assignments",
        "tags": [
          "Access management"
        ]
      },
      "post": {
        "operationId": "create_assignment_access_assignments_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignmentCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Assign a role",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/assignments/{assignment_id}/remove": {
      "post": {
        "operationId": "remove_assignment_access_assignments__assignment_id__remove_post",
        "parameters": [
          {
            "in": "path",
            "name": "assignment_id",
            "required": true,
            "schema": {
              "title": "Assignment Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VersionedAction"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Remove a role assignment",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/audit": {
      "get": {
        "operationId": "list_audit_access_audit_get",
        "parameters": [
          {
            "description": "Opaque cursor from the previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 1024,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Opaque cursor from the previous page.",
              "title": "Cursor"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "actor_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Actor Id"
            }
          },
          {
            "in": "query",
            "name": "target_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Target Id"
            }
          },
          {
            "in": "query",
            "name": "operation",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Operation"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Security audit log, newest first",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/groups": {
      "get": {
        "operationId": "list_groups_access_groups_get",
        "parameters": [
          {
            "description": "Opaque cursor from the previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 1024,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Opaque cursor from the previous page.",
              "title": "Cursor"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Groups",
        "tags": [
          "Access management"
        ]
      },
      "post": {
        "operationId": "create_group_access_groups_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Create a group",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/groups/{group_id}": {
      "get": {
        "operationId": "get_group_access_groups__group_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "group_id",
            "required": true,
            "schema": {
              "title": "Group Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "One group with members and assignments",
        "tags": [
          "Access management"
        ]
      },
      "patch": {
        "operationId": "update_group_access_groups__group_id__patch",
        "parameters": [
          {
            "in": "path",
            "name": "group_id",
            "required": true,
            "schema": {
              "title": "Group Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Change a group",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/groups/{group_id}/members": {
      "post": {
        "operationId": "add_member_access_groups__group_id__members_post",
        "parameters": [
          {
            "in": "path",
            "name": "group_id",
            "required": true,
            "schema": {
              "title": "Group Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemberAdd"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Add a member",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/groups/{group_id}/members/{membership_id}/remove": {
      "post": {
        "operationId": "remove_member_access_groups__group_id__members__membership_id__remove_post",
        "parameters": [
          {
            "in": "path",
            "name": "group_id",
            "required": true,
            "schema": {
              "title": "Group Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "membership_id",
            "required": true,
            "schema": {
              "title": "Membership Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemberRemove"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Remove a member",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/inbound-rules": {
      "get": {
        "operationId": "list_inbound_rules_access_inbound_rules_get",
        "parameters": [
          {
            "description": "Opaque cursor from the previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 1024,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Opaque cursor from the previous page.",
              "title": "Cursor"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Inbound routing rules",
        "tags": [
          "Access management"
        ]
      },
      "post": {
        "operationId": "create_inbound_rule_access_inbound_rules_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RuleCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Route a fax number to a mailbox",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/inbound-rules/{rule_id}": {
      "patch": {
        "operationId": "update_inbound_rule_access_inbound_rules__rule_id__patch",
        "parameters": [
          {
            "in": "path",
            "name": "rule_id",
            "required": true,
            "schema": {
              "title": "Rule Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RulePatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Change an inbound routing rule",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/integrations": {
      "post": {
        "operationId": "create_integration_access_integrations_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Create an integration identity",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/keys": {
      "get": {
        "operationId": "list_keys_access_keys_get",
        "parameters": [
          {
            "in": "query",
            "name": "principal_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Principal Id"
            }
          },
          {
            "description": "Opaque cursor from the previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 1024,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Opaque cursor from the previous page.",
              "title": "Cursor"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "API keys",
        "tags": [
          "Access management"
        ]
      },
      "post": {
        "operationId": "create_key_access_keys_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KeyCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Issue an API key (the token is shown once)",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/keys/{key_id}": {
      "patch": {
        "operationId": "update_key_access_keys__key_id__patch",
        "parameters": [
          {
            "in": "path",
            "name": "key_id",
            "required": true,
            "schema": {
              "title": "Key Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KeyPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Change a key name, note or expiry",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/keys/{key_id}/approve": {
      "post": {
        "operationId": "approve_key_access_keys__key_id__approve_post",
        "parameters": [
          {
            "in": "path",
            "name": "key_id",
            "required": true,
            "schema": {
              "title": "Key Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KeyApprove"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Approve a migrated key that is waiting for review",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/keys/{key_id}/revoke": {
      "post": {
        "operationId": "revoke_key_access_keys__key_id__revoke_post",
        "parameters": [
          {
            "in": "path",
            "name": "key_id",
            "required": true,
            "schema": {
              "title": "Key Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VersionedAction"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Revoke a key",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/keys/{key_id}/rotate": {
      "post": {
        "operationId": "rotate_key_access_keys__key_id__rotate_post",
        "parameters": [
          {
            "in": "path",
            "name": "key_id",
            "required": true,
            "schema": {
              "title": "Key Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VersionedAction"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Replace a key secret (the token is shown once)",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/mailboxes": {
      "get": {
        "operationId": "list_mailboxes_access_mailboxes_get",
        "parameters": [
          {
            "description": "Opaque cursor from the previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 1024,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Opaque cursor from the previous page.",
              "title": "Cursor"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Mailboxes",
        "tags": [
          "Access management"
        ]
      },
      "post": {
        "operationId": "create_mailbox_access_mailboxes_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MailboxCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Create a mailbox",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/mailboxes/{mailbox_id}": {
      "patch": {
        "operationId": "update_mailbox_access_mailboxes__mailbox_id__patch",
        "parameters": [
          {
            "in": "path",
            "name": "mailbox_id",
            "required": true,
            "schema": {
              "title": "Mailbox Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MailboxPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Rename, enable or disable a mailbox",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/permissions": {
      "get": {
        "operationId": "list_permissions_access_permissions_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Permission catalogue",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/resources": {
      "get": {
        "operationId": "list_resources_access_resources_get",
        "parameters": [
          {
            "in": "query",
            "name": "kind",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Kind"
            }
          },
          {
            "description": "Opaque cursor from the previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 1024,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Opaque cursor from the previous page.",
              "title": "Cursor"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Resources that can receive assignments",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/roles": {
      "get": {
        "operationId": "list_roles_access_roles_get",
        "parameters": [
          {
            "description": "Opaque cursor from the previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 1024,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Opaque cursor from the previous page.",
              "title": "Cursor"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Roles",
        "tags": [
          "Access management"
        ]
      },
      "post": {
        "operationId": "create_role_access_roles_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoleCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Create a custom role",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/roles/{role_id}": {
      "patch": {
        "operationId": "update_role_access_roles__role_id__patch",
        "parameters": [
          {
            "in": "path",
            "name": "role_id",
            "required": true,
            "schema": {
              "title": "Role Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RolePatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Change a custom role",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/sessions": {
      "get": {
        "operationId": "list_sessions_access_sessions_get",
        "parameters": [
          {
            "in": "query",
            "name": "principal_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Principal Id"
            }
          },
          {
            "description": "Opaque cursor from the previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 1024,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Opaque cursor from the previous page.",
              "title": "Cursor"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Sessions (your own, or another principal with sessions:read)",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/sessions/{session_id}/revoke": {
      "post": {
        "operationId": "revoke_session_access_sessions__session_id__revoke_post",
        "parameters": [
          {
            "in": "path",
            "name": "session_id",
            "required": true,
            "schema": {
              "title": "Session Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SessionRevoke"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Revoke a session",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/users": {
      "get": {
        "operationId": "list_users_access_users_get",
        "parameters": [
          {
            "in": "query",
            "name": "kind",
            "required": false,
            "schema": {
              "default": "all",
              "title": "Kind",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 100,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Q"
            }
          },
          {
            "description": "Opaque cursor from the previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 1024,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Opaque cursor from the previous page.",
              "title": "Cursor"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Users and integrations",
        "tags": [
          "Access management"
        ]
      },
      "post": {
        "operationId": "create_user_access_users_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Create a user with a temporary password",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/users/{principal_id}": {
      "get": {
        "operationId": "get_user_access_users__principal_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "principal_id",
            "required": true,
            "schema": {
              "title": "Principal Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "One user or integration",
        "tags": [
          "Access management"
        ]
      },
      "patch": {
        "operationId": "update_user_access_users__principal_id__patch",
        "parameters": [
          {
            "in": "path",
            "name": "principal_id",
            "required": true,
            "schema": {
              "title": "Principal Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Change a user or integration",
        "tags": [
          "Access management"
        ]
      }
    },
    "/access/users/{principal_id}/reset-password": {
      "post": {
        "operationId": "reset_password_access_users__principal_id__reset_password_post",
        "parameters": [
          {
            "in": "path",
            "name": "principal_id",
            "required": true,
            "schema": {
              "title": "Principal Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VersionedAction"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Reset a password to a temporary one",
        "tags": [
          "Access management"
        ]
      }
    },
    "/admin/api-keys": {
      "get": {
        "operationId": "admin_list_api_keys_admin_api_keys_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/APIKeyMeta"
                  },
                  "title": "Response Admin List Api Keys Admin Api Keys Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Admin List Api Keys"
      },
      "post": {
        "description": "Issue a key for a new integration identity holding exactly the requested scopes.",
        "operationId": "admin_create_api_key_admin_api_keys_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAPIKeyIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateAPIKeyOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Admin Create Api Key"
      }
    },
    "/admin/api-keys/{key_id}": {
      "delete": {
        "operationId": "admin_revoke_api_key_admin_api_keys__key_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "key_id",
            "required": true,
            "schema": {
              "title": "Key Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Admin Revoke Api Key"
      }
    },
    "/admin/api-keys/{key_id}/rotate": {
      "post": {
        "description": "Replace the secret; the key id, identity and scopes stay the same.",
        "operationId": "admin_rotate_api_key_admin_api_keys__key_id__rotate_post",
        "parameters": [
          {
            "in": "path",
            "name": "key_id",
            "required": true,
            "schema": {
              "title": "Key Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RotateAPIKeyOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Admin Rotate Api Key"
      }
    },
    "/admin/config": {
      "get": {
        "description": "Return sanitized effective configuration for operators.\nRequires current settings:read and uses one authorized active snapshot.",
        "operationId": "get_admin_config_admin_config_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Get Admin Config"
      }
    },
    "/admin/db-status": {
      "get": {
        "operationId": "admin_db_status_admin_db_status_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Admin Db Status"
      }
    },
    "/admin/diagnostics/engine/{view}": {
      "get": {
        "description": "A read-only list from the fax engine: registrations, contacts, calls or faxes.",
        "operationId": "engine_view_admin_diagnostics_engine__view__get",
        "parameters": [
          {
            "in": "path",
            "name": "view",
            "required": true,
            "schema": {
              "title": "View",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Engine View",
        "tags": [
          "Diagnostics"
        ]
      }
    },
    "/admin/diagnostics/report": {
      "get": {
        "description": "The last diagnostics run, without contacting anything; empty until the first run.",
        "operationId": "last_report_admin_diagnostics_report_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Last Report",
        "tags": [
          "Diagnostics"
        ]
      },
      "post": {
        "description": "Run every check now. Read-only: no fax is sent and nothing is changed.",
        "operationId": "run_report_admin_diagnostics_report_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Run Report",
        "tags": [
          "Diagnostics"
        ]
      }
    },
    "/admin/fax-jobs": {
      "get": {
        "operationId": "list_admin_jobs_admin_fax_jobs_get",
        "parameters": [
          {
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "in": "query",
            "name": "backend",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Backend"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Admin Jobs"
      }
    },
    "/admin/fax-jobs/{job_id}": {
      "get": {
        "operationId": "get_admin_job_admin_fax_jobs__job_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Admin Job"
      }
    },
    "/admin/fax-jobs/{job_id}/delivery": {
      "get": {
        "description": "Bounded evidence from the accepted account, excluding captured secrets.",
        "operationId": "admin_delivery_history_admin_fax_jobs__job_id__delivery_get",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Admin Delivery History"
      }
    },
    "/admin/fax-jobs/{job_id}/pdf": {
      "get": {
        "description": "Download the retained PDF with independent current document permission.",
        "operationId": "admin_get_job_pdf_admin_fax_jobs__job_id__pdf_get",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Admin Get Job Pdf"
      }
    },
    "/admin/fax-jobs/{job_id}/reconcile": {
      "post": {
        "description": "Attach an operator-confirmed receipt; this never authorizes transmission.",
        "operationId": "admin_bind_provider_identity_admin_fax_jobs__job_id__reconcile_post",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProviderIdentityConfirmation"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Admin Bind Provider Identity"
      }
    },
    "/admin/fax-jobs/{job_id}/refresh": {
      "post": {
        "description": "Read status from the accepted account without authorizing another send.",
        "operationId": "admin_refresh_job_admin_fax_jobs__job_id__refresh_post",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Admin Refresh Job"
      }
    },
    "/admin/health-status": {
      "get": {
        "operationId": "get_health_status_admin_health_status_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Get Health Status"
      }
    },
    "/admin/inbound/callbacks": {
      "get": {
        "operationId": "admin_inbound_callbacks_admin_inbound_callbacks_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Admin Inbound Callbacks"
      }
    },
    "/admin/inbound/efax": {
      "get": {
        "description": "Whether Faxbot is checking eFax for received faxes, and received faxes still stored at eFax.",
        "operationId": "efax_inbound_status_admin_inbound_efax_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Efax Inbound Status",
        "tags": [
          "Inbound"
        ]
      }
    },
    "/admin/inbound/recover": {
      "post": {
        "description": "Bring in faxes the SIP trunk received but could not hand to Faxbot; Faxbot also checks every minute.",
        "operationId": "recover_inbound_admin_inbound_recover_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Recover Inbound",
        "tags": [
          "Inbound"
        ]
      }
    },
    "/admin/inbound/simulate": {
      "post": {
        "description": "Add a test fax with a real one-page PDF; it is marked as a test everywhere.",
        "operationId": "admin_inbound_simulate_admin_inbound_simulate_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SimulateInboundIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Admin Inbound Simulate"
      }
    },
    "/admin/logs": {
      "get": {
        "description": "Return recent audit logs from in-process ring buffer with simple filtering.\nFor persistent logs, configure AUDIT_LOG_FILE and use external tooling; this endpoint focuses on interactive UI needs.",
        "operationId": "admin_logs_admin_logs_get",
        "parameters": [
          {
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Q"
            }
          },
          {
            "in": "query",
            "name": "event",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Event"
            }
          },
          {
            "in": "query",
            "name": "since",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Since"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 200,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Admin Logs"
      }
    },
    "/admin/logs/tail": {
      "get": {
        "description": "Tail the audit log file when AUDIT_LOG_FILE is configured.\nReturns last N lines (default 2000), filtered by substring and/or event name when logs are JSON.",
        "operationId": "admin_logs_tail_admin_logs_tail_get",
        "parameters": [
          {
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Q"
            }
          },
          {
            "in": "query",
            "name": "event",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Event"
            }
          },
          {
            "in": "query",
            "name": "lines",
            "required": false,
            "schema": {
              "default": 2000,
              "title": "Lines",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Admin Logs Tail"
      }
    },
    "/admin/plugins/http/import-manifests": {
      "post": {
        "description": "Bulk import provider manifests from a JSON list or Markdown.\nFor markdown, extracts JSON code fences and imports objects that look like manifests.",
        "operationId": "import_http_manifests_admin_plugins_http_import_manifests_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportManifestsIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "The v3 plugins feature is disabled."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Import Http Manifests"
      }
    },
    "/admin/plugins/http/install": {
      "post": {
        "operationId": "install_http_manifest_admin_plugins_http_install_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ManifestIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "The v3 plugins feature is disabled."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Install Http Manifest"
      }
    },
    "/admin/plugins/http/validate": {
      "post": {
        "description": "Validate a draft without issuing a provider request.\n\nProvider transmission belongs to a captured, durable outbound attempt.\nKeep the legacy flag for a clear refusal to older administrative clients.",
        "operationId": "validate_http_manifest_admin_plugins_http_validate_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ManifestValidateIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Validate Http Manifest"
      }
    },
    "/admin/restart": {
      "post": {
        "description": "Optional: restart the API process (for containerized deployments). Controlled by ADMIN_ALLOW_RESTART.",
        "operationId": "admin_restart_admin_restart_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Admin Restart"
      }
    },
    "/admin/settings": {
      "get": {
        "description": "Read the desired editor revision; credentials remain opaque.",
        "operationId": "get_admin_settings_admin_settings_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigurationValidationErrorResponse"
                }
              }
            },
            "description": "Invalid configuration input; raw input and error context are omitted."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Get Admin Settings"
      },
      "put": {
        "description": "Validate and durably apply one candidate, or stage it for coordinated restart.",
        "operationId": "update_admin_settings_admin_settings_put",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSettingsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "applied": {
                    "summary": "Confirmed applied configuration",
                    "value": {
                      "_meta": {
                        "active_revision_id": "00000000-0000-4000-8000-000000000001",
                        "apply_state": "applied",
                        "desired_revision_id": "00000000-0000-4000-8000-000000000001",
                        "generation": 2,
                        "restart_recommended": false
                      },
                      "changed": true,
                      "ok": true
                    }
                  },
                  "pending_restart": {
                    "summary": "Confirmed desired configuration pending restart",
                    "value": {
                      "_meta": {
                        "active_revision_id": "00000000-0000-4000-8000-000000000001",
                        "apply_state": "pending_restart",
                        "desired_revision_id": "00000000-0000-4000-8000-000000000002",
                        "generation": 3,
                        "restart_recommended": true
                      },
                      "changed": true,
                      "ok": true
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ConfigurationWriteResponse"
                }
              }
            },
            "description": "Confirmed canonical write receipt; read configuration values separately."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration or provider metadata could not be validated."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration changed. Reload before applying edits."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigurationValidationErrorResponse"
                }
              }
            },
            "description": "Invalid configuration input; raw input and error context are omitted."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Update Admin Settings"
      }
    },
    "/admin/settings/export": {
      "get": {
        "description": "Display the complete desired configuration with opaque secret placeholders.",
        "operationId": "export_settings_env_admin_settings_export_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigurationValidationErrorResponse"
                }
              }
            },
            "description": "Invalid configuration input; raw input and error context are omitted."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Export Settings Env"
      }
    },
    "/admin/settings/persist": {
      "post": {
        "deprecated": true,
        "description": "Deprecated: removed in the next release; back up with `faxbot system backup` instead.\n\nAtomically export desired settings to the installation's private recovery file.\n\nRestoring historical jobs also requires the database and original installation\nkey. This export does not activate settings or change the canonical store.",
        "operationId": "persist_settings_admin_settings_persist_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PersistSettingsIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigurationValidationErrorResponse"
                }
              }
            },
            "description": "Invalid configuration input; raw input and error context are omitted."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Persist Settings"
      }
    },
    "/admin/settings/reload": {
      "post": {
        "description": "Read durable active/desired state without importing environment or promoting it.",
        "operationId": "admin_reload_settings_admin_settings_reload_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigurationValidationErrorResponse"
                }
              }
            },
            "description": "Invalid configuration input; raw input and error context are omitted."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Admin Reload Settings"
      }
    },
    "/admin/settings/validate": {
      "post": {
        "description": "Validate connectivity/non-destructive checks for the selected backend.",
        "operationId": "validate_settings_admin_settings_validate_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateSettingsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigurationValidationErrorResponse"
                }
              }
            },
            "description": "Invalid configuration input; raw input and error context are omitted."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Validate Settings"
      }
    },
    "/admin/sip/apply": {
      "post": {
        "description": "Write the trunk configuration Asterisk loads when it starts.",
        "operationId": "apply_admin_sip_apply_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Apply",
        "tags": [
          "SIP trunk"
        ]
      }
    },
    "/admin/sip/calls": {
      "get": {
        "description": "Recent trunk calls, newest first; pass next_cursor to read further back.",
        "operationId": "calls_admin_sip_calls_get",
        "parameters": [
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 200,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 25,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "direction",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "pattern": "^(outbound|inbound)$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Direction"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Calls",
        "tags": [
          "SIP trunk"
        ]
      }
    },
    "/admin/sip/engine/restart": {
      "post": {
        "description": "Restart the fast fax service: it starts again as soon as no fax is going through (the engine reads\nthe request; Asterisk and the trunk settings are left as they are).",
        "operationId": "restart_engine_admin_sip_engine_restart_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Restart Engine",
        "tags": [
          "SIP trunk"
        ]
      }
    },
    "/admin/sip/negotiation": {
      "get": {
        "description": "Providers → the trunk page: calls per compression, error correction and speed over 7, 30 or 90 days.",
        "operationId": "negotiation_summary_admin_sip_negotiation_get",
        "parameters": [
          {
            "in": "query",
            "name": "days",
            "required": false,
            "schema": {
              "default": 30,
              "title": "Days",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Negotiation Summary"
      }
    },
    "/admin/sip/negotiation/received/{inbound_id}": {
      "get": {
        "description": "Faxes → Received, a fax's detail: what its call negotiated, for anyone who may read that fax.\n\nThe fax's own read check comes first, as for the detail (GET /inbound/{id}): someone who may not read\nthe fax gets the detail's answer, so this route never shows that the fax exists.",
        "operationId": "received_negotiation_admin_sip_negotiation_received__inbound_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "inbound_id",
            "required": true,
            "schema": {
              "title": "Inbound Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Received Negotiation"
      }
    },
    "/admin/sip/network": {
      "get": {
        "description": "Whether T.38 fax data can come back through this network, where Faxbot runs, and what to do about it.",
        "operationId": "network_check_admin_sip_network_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Network Check",
        "tags": [
          "SIP trunk"
        ]
      }
    },
    "/admin/sip/network/check": {
      "post": {
        "description": "Check the network for fax over IP now; Faxbot turns T.38 on or off for new calls when the check says so.",
        "operationId": "check_network_again_admin_sip_network_check_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Check Network Again",
        "tags": [
          "SIP trunk"
        ]
      }
    },
    "/admin/sip/presets": {
      "get": {
        "description": "Carrier presets with their documented settings and sources.",
        "operationId": "presets_admin_sip_presets_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Presets",
        "tags": [
          "SIP trunk"
        ]
      }
    },
    "/admin/sip/status": {
      "get": {
        "description": "Trunk registration and carrier reachability as Asterisk reports them; never includes secrets.",
        "operationId": "status_admin_sip_status_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Status",
        "tags": [
          "SIP trunk"
        ]
      }
    },
    "/admin/sip/telnyx": {
      "get": {
        "description": "Whether Telnyx accepts fax over IP (T.38) on the trunk's numbers, from the last check.",
        "operationId": "telnyx_check_admin_sip_telnyx_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Telnyx Check",
        "tags": [
          "SIP trunk"
        ]
      }
    },
    "/admin/sip/telnyx/numbers/{number}/t38": {
      "post": {
        "description": "Turn on Telnyx's T.38 fax gateway for one trunk number, then read it back; changes nothing else.\n\nA number that is not one of the trunk's is refused before anything else. Every other request leaves one\naudit row naming the number and the result (turned_on, still_off, refused, not_found or unreachable).",
        "operationId": "telnyx_turn_on_t38_admin_sip_telnyx_numbers__number__t38_post",
        "parameters": [
          {
            "in": "path",
            "name": "number",
            "required": true,
            "schema": {
              "title": "Number",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Telnyx Turn On T38",
        "tags": [
          "SIP trunk"
        ]
      }
    },
    "/admin/terminal/ticket": {
      "post": {
        "description": "A ticket, valid once for 60 seconds, that opens one terminal WebSocket as the caller.",
        "operationId": "admin_terminal_ticket_admin_terminal_ticket_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalTicketOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Admin Terminal Ticket"
      }
    },
    "/admin/tunnel/pair": {
      "post": {
        "description": "A six-digit code, valid once for five minutes, that pairs one phone as a device of this installation.",
        "operationId": "admin_tunnel_pair_admin_tunnel_pair_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PairOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Admin Tunnel Pair"
      }
    },
    "/auth/context": {
      "get": {
        "description": "Current permission-scoped navigation and active configuration hints. These hints do not authorize later operations; each operation checks current access again.",
        "operationId": "console_context_auth_context_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsoleContextResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid access request."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Console context",
        "tags": [
          "Authentication"
        ]
      }
    },
    "/auth/key-login": {
      "post": {
        "operationId": "key_login_auth_key_login_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KeyLogin"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthSessionResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid access request."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Key Login",
        "tags": [
          "Authentication"
        ]
      }
    },
    "/auth/login": {
      "post": {
        "operationId": "password_login_auth_login_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PasswordLogin"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthSessionResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid access request."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Password Login",
        "tags": [
          "Authentication"
        ]
      }
    },
    "/auth/logout": {
      "post": {
        "operationId": "logout_auth_logout_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthLogoutResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid access request."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Logout",
        "tags": [
          "Authentication"
        ]
      }
    },
    "/auth/me": {
      "get": {
        "operationId": "me_auth_me_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthMeResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid access request."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Me",
        "tags": [
          "Authentication"
        ]
      }
    },
    "/auth/owner/enroll": {
      "post": {
        "description": "Create a named Owner with a temporary password shown once. Allowed when /auth/me reports can_enroll_owner: the installation bootstrap credential or a complete Owner.",
        "operationId": "enroll_owner_auth_owner_enroll_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OwnerEnrollmentInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid access request."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Enroll an owner",
        "tags": [
          "Authentication"
        ]
      }
    },
    "/auth/password": {
      "post": {
        "operationId": "change_password_auth_password_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PasswordChange"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthSessionResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid access request."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Change Password",
        "tags": [
          "Authentication"
        ]
      }
    },
    "/auth/sessions": {
      "get": {
        "operationId": "sessions_auth_sessions_get",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor_time",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date-time",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor Time"
            }
          },
          {
            "in": "query",
            "name": "cursor_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 40,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor Id"
            }
          },
          {
            "description": "Another principal's sessions (requires sessions:read); omit for your own.",
            "in": "query",
            "name": "principal_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 40,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Another principal's sessions (requires sessions:read); omit for your own.",
              "title": "Principal Id"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthSessionPageResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid access request."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Sessions",
        "tags": [
          "Authentication"
        ]
      }
    },
    "/auth/sessions/{session_id}/revoke": {
      "post": {
        "operationId": "revoke_session_auth_sessions__session_id__revoke_post",
        "parameters": [
          {
            "in": "path",
            "name": "session_id",
            "required": true,
            "schema": {
              "title": "Session Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SessionRevoke"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthSessionRevokeResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid credential or session request."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access target not found."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Access policy changed. Reload and try again."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid access request."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Revoke Session",
        "tags": [
          "Authentication"
        ]
      }
    },
    "/auth/setup": {
      "get": {
        "description": "Public. Whether the installation still has no named Owner, so the sign-in page asks for the installation key that creates the first one. Nothing else is disclosed; once an Owner exists it is false.",
        "operationId": "sign_in_setup_auth_setup_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthSetupResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication request is too large."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Invalid access request."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthErrorResponse"
                }
              }
            },
            "description": "Authentication or access service is temporarily unavailable."
          }
        },
        "summary": "Sign-in setup",
        "tags": [
          "Authentication"
        ]
      }
    },
    "/batching/check": {
      "get": {
        "description": "Whether a fax to ``to`` would wait to go with others, for the Send page's \"Send now\" choice.",
        "operationId": "check_batching_check_get",
        "parameters": [
          {
            "in": "query",
            "name": "to",
            "required": true,
            "schema": {
              "maxLength": 64,
              "minLength": 1,
              "title": "To",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Check",
        "tags": [
          "Sending together"
        ]
      }
    },
    "/batching/faxes/{job_id}": {
      "get": {
        "description": "A fax's waiting or shared-call details, for anyone who may read that fax.",
        "operationId": "fax_batching_faxes__job_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Fax",
        "tags": [
          "Sending together"
        ]
      }
    },
    "/batching/faxes/{job_id}/send-now": {
      "post": {
        "description": "Send a waiting fax now; the faxes waiting with it go in the same call. Never sends anything twice.",
        "operationId": "send_now_batching_faxes__job_id__send_now_post",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Send Now",
        "tags": [
          "Sending together"
        ]
      }
    },
    "/batching/numbers/{number}": {
      "delete": {
        "operationId": "delete_number_batching_numbers__number__delete",
        "parameters": [
          {
            "in": "path",
            "name": "number",
            "required": true,
            "schema": {
              "title": "Number",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Delete Number",
        "tags": [
          "Sending together"
        ]
      },
      "get": {
        "operationId": "get_number_batching_numbers__number__get",
        "parameters": [
          {
            "in": "path",
            "name": "number",
            "required": true,
            "schema": {
              "title": "Number",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Number",
        "tags": [
          "Sending together"
        ]
      },
      "put": {
        "operationId": "put_number_batching_numbers__number__put",
        "parameters": [
          {
            "in": "path",
            "name": "number",
            "required": true,
            "schema": {
              "title": "Number",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NumberSetting"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Put Number",
        "tags": [
          "Sending together"
        ]
      }
    },
    "/cases": {
      "get": {
        "description": "The newest cases this installation sent packets for, with recipient and document counts.",
        "operationId": "recent_cases_cases_get",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Recent Cases",
        "tags": [
          "Case ledger"
        ]
      }
    },
    "/cases/{case_id}/documents": {
      "get": {
        "operationId": "case_documents_cases__case_id__documents_get",
        "parameters": [
          {
            "in": "path",
            "name": "case_id",
            "required": true,
            "schema": {
              "title": "Case Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "to",
            "required": true,
            "schema": {
              "title": "To",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Case Documents",
        "tags": [
          "Case ledger"
        ]
      }
    },
    "/cases/{case_id}/faxes": {
      "post": {
        "operationId": "send_case_packet_cases__case_id__faxes_post",
        "parameters": [
          {
            "in": "path",
            "name": "case_id",
            "required": true,
            "schema": {
              "title": "Case Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/Body_send_case_packet_cases__case_id__faxes_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Send Case Packet",
        "tags": [
          "Case ledger"
        ]
      }
    },
    "/direct/card": {
      "get": {
        "operationId": "own_card_direct_card_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Own Card",
        "tags": [
          "Direct delivery"
        ]
      }
    },
    "/direct/deliveries": {
      "get": {
        "operationId": "list_deliveries_direct_deliveries_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Deliveries",
        "tags": [
          "Direct delivery"
        ]
      },
      "post": {
        "description": "Multipart fields ``manifest`` and ``signature`` and file ``document``.\n\nThe body is bounded before it is parsed, because the caller is not yet\nauthenticated: the signature is checked against the enrolled partner after.",
        "operationId": "receive_delivery_direct_deliveries_post",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Receive Delivery",
        "tags": [
          "Direct delivery"
        ]
      }
    },
    "/direct/deliveries/{message_id}": {
      "get": {
        "operationId": "delivery_status_direct_deliveries__message_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "message_id",
            "required": true,
            "schema": {
              "title": "Message Id",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "x-faxbot-direct-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Faxbot-Direct-Key"
            }
          },
          {
            "in": "header",
            "name": "x-faxbot-direct-time",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Faxbot-Direct-Time"
            }
          },
          {
            "in": "header",
            "name": "x-faxbot-direct-signature",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Faxbot-Direct-Signature"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Delivery Status",
        "tags": [
          "Direct delivery"
        ]
      }
    },
    "/direct/peers": {
      "get": {
        "operationId": "list_peers_direct_peers_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Peers",
        "tags": [
          "Direct delivery"
        ]
      },
      "post": {
        "operationId": "enroll_direct_peers_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnrollIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Enroll",
        "tags": [
          "Direct delivery"
        ]
      }
    },
    "/direct/peers/{peer_id}/challenge": {
      "post": {
        "description": "Send the partner's number a one-page fax with a code they confirm from their Faxbot.",
        "operationId": "send_challenge_direct_peers__peer_id__challenge_post",
        "parameters": [
          {
            "in": "path",
            "name": "peer_id",
            "required": true,
            "schema": {
              "title": "Peer Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Send Challenge",
        "tags": [
          "Direct delivery"
        ]
      }
    },
    "/direct/peers/{peer_id}/confirm": {
      "post": {
        "description": "Enter the code from a partner's challenge fax; Faxbot proves it to the partner with our key.",
        "operationId": "confirm_partner_code_direct_peers__peer_id__confirm_post",
        "parameters": [
          {
            "in": "path",
            "name": "peer_id",
            "required": true,
            "schema": {
              "title": "Peer Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Confirm Partner Code",
        "tags": [
          "Direct delivery"
        ]
      }
    },
    "/direct/peers/{peer_id}/revoke": {
      "post": {
        "operationId": "revoke_peer_direct_peers__peer_id__revoke_post",
        "parameters": [
          {
            "in": "path",
            "name": "peer_id",
            "required": true,
            "schema": {
              "title": "Peer Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Revoke Peer",
        "tags": [
          "Direct delivery"
        ]
      }
    },
    "/direct/verifications": {
      "post": {
        "operationId": "receive_verification_direct_verifications_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerificationIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Receive Verification",
        "tags": [
          "Direct delivery"
        ]
      }
    },
    "/efax-inbound": {
      "post": {
        "description": "eFax's notification that a fax arrived: with a valid signature, check eFax now.",
        "operationId": "efax_inbound_efax_inbound_post",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Efax Inbound",
        "tags": [
          "Inbound"
        ]
      }
    },
    "/fax": {
      "post": {
        "operationId": "send_fax_fax_post",
        "parameters": [
          {
            "description": "Optional key for replaying the same fax request; 1 to 128 printable ASCII characters without spaces.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Optional key for replaying the same fax request; 1 to 128 printable ASCII characters without spaces.",
              "title": "Idempotency-Key"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/Body_send_fax_fax_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FaxJobOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Send Fax"
      }
    },
    "/fax/{job_id}": {
      "get": {
        "operationId": "get_fax_fax__job_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FaxJobOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Fax"
      }
    },
    "/fax/{job_id}/pdf": {
      "get": {
        "description": "Serve PDF file for cloud backend (e.g., Phaxio) to fetch.\nNo API auth; requires a valid, unexpired per-job token.",
        "operationId": "get_fax_pdf_fax__job_id__pdf_get",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "token",
            "required": true,
            "schema": {
              "title": "Token",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Fax Pdf"
      }
    },
    "/health": {
      "get": {
        "operationId": "health_health_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Health"
      }
    },
    "/health/ready": {
      "get": {
        "description": "200 when Faxbot is ready for what it is set up to do (sending, receiving or both), else 503.\n\nThe body is unchanged: ``status`` stays ready to send, and ``ready_to_receive`` answers for receiving.",
        "operationId": "health_ready_health_ready_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Health Ready"
      }
    },
    "/imports": {
      "post": {
        "operationId": "create_import_imports_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/Body_create_import_imports_post"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Import a document from another system into the work queue",
        "tags": [
          "Work"
        ]
      }
    },
    "/inbound": {
      "get": {
        "operationId": "list_inbound_inbound_get",
        "parameters": [
          {
            "in": "query",
            "name": "to_number",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "To Number"
            }
          },
          {
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "in": "query",
            "name": "mailbox",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Mailbox"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/InboundFaxOut"
                  },
                  "title": "Response List Inbound Inbound Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Inbound"
      }
    },
    "/inbound/{inbound_id}": {
      "get": {
        "operationId": "get_inbound_inbound__inbound_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "inbound_id",
            "required": true,
            "schema": {
              "title": "Inbound Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InboundFaxOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Inbound"
      }
    },
    "/inbound/{inbound_id}/fetch": {
      "post": {
        "description": "Ask Faxbot to fetch a received fax's document again now.",
        "operationId": "fetch_inbound_inbound__inbound_id__fetch_post",
        "parameters": [
          {
            "in": "path",
            "name": "inbound_id",
            "required": true,
            "schema": {
              "title": "Inbound Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Fetch Inbound",
        "tags": [
          "Inbound"
        ]
      }
    },
    "/inbound/{inbound_id}/pdf": {
      "get": {
        "description": "Document bytes need inbound:document, or the fax's unexpired download token.",
        "operationId": "get_inbound_pdf_inbound__inbound_id__pdf_get",
        "parameters": [
          {
            "in": "path",
            "name": "inbound_id",
            "required": true,
            "schema": {
              "title": "Inbound Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Inbound Pdf"
      }
    },
    "/intake/connectors": {
      "get": {
        "operationId": "list_connectors_intake_connectors_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Connectors",
        "tags": [
          "Intake"
        ]
      },
      "post": {
        "operationId": "create_connector_intake_connectors_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectorIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create Connector",
        "tags": [
          "Intake"
        ]
      }
    },
    "/intake/connectors/{connector_id}": {
      "delete": {
        "operationId": "delete_connector_intake_connectors__connector_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "connector_id",
            "required": true,
            "schema": {
              "title": "Connector Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Delete Connector",
        "tags": [
          "Intake"
        ]
      },
      "put": {
        "operationId": "update_connector_intake_connectors__connector_id__put",
        "parameters": [
          {
            "in": "path",
            "name": "connector_id",
            "required": true,
            "schema": {
              "title": "Connector Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectorIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Update Connector",
        "tags": [
          "Intake"
        ]
      }
    },
    "/intake/connectors/{connector_id}/test": {
      "post": {
        "operationId": "test_connector_intake_connectors__connector_id__test_post",
        "parameters": [
          {
            "in": "path",
            "name": "connector_id",
            "required": true,
            "schema": {
              "title": "Connector Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Test Connector",
        "tags": [
          "Intake"
        ]
      }
    },
    "/intake/items": {
      "get": {
        "operationId": "list_items_intake_items_get",
        "parameters": [
          {
            "in": "query",
            "name": "state",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "pattern": "^(received|sending|delivered|failed)$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "State"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Items",
        "tags": [
          "Intake"
        ]
      }
    },
    "/intake/items/{item_id}/retry": {
      "post": {
        "operationId": "retry_item_intake_items__item_id__retry_post",
        "parameters": [
          {
            "in": "path",
            "name": "item_id",
            "required": true,
            "schema": {
              "title": "Item Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Retry Item",
        "tags": [
          "Intake"
        ]
      }
    },
    "/mobile/pair": {
      "post": {
        "description": "Exchange a pairing code from the console for this device's own API key. Any failure is 403.",
        "operationId": "mobile_pair_mobile_pair_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "code": {
                    "pattern": "^[0-9]{6}$",
                    "type": "string"
                  },
                  "device_name": {
                    "type": "string"
                  }
                },
                "required": [
                  "code"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobilePairOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Pairing failed."
          }
        },
        "summary": "Mobile Pair"
      }
    },
    "/phaxio-callback": {
      "post": {
        "operationId": "phaxio_callback_phaxio_callback_post",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Phaxio Callback"
      }
    },
    "/phaxio-inbound": {
      "post": {
        "operationId": "phaxio_inbound_phaxio_inbound_post",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Phaxio Inbound",
        "tags": [
          "Inbound"
        ]
      }
    },
    "/plugins": {
      "get": {
        "deprecated": true,
        "description": "Deprecated: removed in the next release with FEATURE_V3_PLUGINS; read providers from /admin/settings.",
        "operationId": "list_plugins_plugins_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration or provider metadata could not be validated."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "The v3 plugins feature is disabled."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "List Plugins"
      }
    },
    "/plugins/{plugin_id}/config": {
      "get": {
        "deprecated": true,
        "description": "Deprecated: removed in the next release; read provider settings from /admin/settings.",
        "operationId": "get_plugin_config_plugins__plugin_id__config_get",
        "parameters": [
          {
            "in": "path",
            "name": "plugin_id",
            "required": true,
            "schema": {
              "title": "Plugin Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "role",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Role"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration or provider metadata could not be validated."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "The v3 plugins feature is disabled."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigurationValidationErrorResponse"
                }
              }
            },
            "description": "Invalid configuration input; raw input and error context are omitted."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Get Plugin Config"
      },
      "put": {
        "deprecated": true,
        "description": "Deprecated: removed in the next release; change provider settings with PUT /admin/settings.",
        "operationId": "update_plugin_config_plugins__plugin_id__config_put",
        "parameters": [
          {
            "in": "path",
            "name": "plugin_id",
            "required": true,
            "schema": {
              "title": "Plugin Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePluginConfigIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "applied": {
                    "summary": "Confirmed applied configuration",
                    "value": {
                      "_meta": {
                        "active_revision_id": "00000000-0000-4000-8000-000000000001",
                        "apply_state": "applied",
                        "desired_revision_id": "00000000-0000-4000-8000-000000000001",
                        "generation": 2,
                        "restart_recommended": false
                      },
                      "changed": true,
                      "ok": true
                    }
                  },
                  "pending_restart": {
                    "summary": "Confirmed desired configuration pending restart",
                    "value": {
                      "_meta": {
                        "active_revision_id": "00000000-0000-4000-8000-000000000001",
                        "apply_state": "pending_restart",
                        "desired_revision_id": "00000000-0000-4000-8000-000000000002",
                        "generation": 3,
                        "restart_recommended": true
                      },
                      "changed": true,
                      "ok": true
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ConfigurationWriteResponse"
                }
              }
            },
            "description": "Confirmed canonical write receipt; read configuration values separately."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration or provider metadata could not be validated."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Authentication required or credentials no longer valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Transport, browser request verification or operation is not permitted."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration changed. Reload before applying edits."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigurationValidationErrorResponse"
                }
              }
            },
            "description": "Invalid configuration input; raw input and error context are omitted."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Too many authentication attempts. Try again later."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDetailErrorResponse"
                }
              }
            },
            "description": "Configuration, authentication or access service is unavailable."
          }
        },
        "summary": "Update Plugin Config"
      }
    },
    "/routing/costs": {
      "get": {
        "operationId": "costs_routing_costs_get",
        "parameters": [
          {
            "in": "query",
            "name": "since",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date-time",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Since"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Costs",
        "tags": [
          "Delivery routes"
        ]
      }
    },
    "/routing/destinations": {
      "get": {
        "operationId": "list_destinations_routing_destinations_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Destinations",
        "tags": [
          "Delivery routes"
        ]
      }
    },
    "/routing/destinations/{number}": {
      "get": {
        "operationId": "get_destination_routing_destinations__number__get",
        "parameters": [
          {
            "in": "path",
            "name": "number",
            "required": true,
            "schema": {
              "title": "Number",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pages",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 1000,
              "minimum": 1,
              "title": "Pages",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Destination",
        "tags": [
          "Delivery routes"
        ]
      },
      "patch": {
        "operationId": "patch_destination_routing_destinations__number__patch",
        "parameters": [
          {
            "in": "path",
            "name": "number",
            "required": true,
            "schema": {
              "title": "Number",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DestinationPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Patch Destination",
        "tags": [
          "Delivery routes"
        ]
      }
    },
    "/routing/destinations/{number}/fax-limits": {
      "get": {
        "operationId": "get_fax_limits_routing_destinations__number__fax_limits_get",
        "parameters": [
          {
            "in": "path",
            "name": "number",
            "required": true,
            "schema": {
              "title": "Number",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Fax Limits"
      },
      "put": {
        "operationId": "put_fax_limits_routing_destinations__number__fax_limits_put",
        "parameters": [
          {
            "in": "path",
            "name": "number",
            "required": true,
            "schema": {
              "title": "Number",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FaxLimits"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Put Fax Limits"
      }
    },
    "/routing/fax-costs": {
      "get": {
        "description": "Costs for up to 100 sent faxes at once, for the Sent list; faxes this person cannot read are left out.",
        "operationId": "fax_costs_routing_fax_costs_get",
        "parameters": [
          {
            "in": "query",
            "name": "ids",
            "required": false,
            "schema": {
              "default": "",
              "maxLength": 4200,
              "title": "Ids",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Fax Costs",
        "tags": [
          "Delivery routes"
        ]
      }
    },
    "/routing/faxes/{job_id}/cost": {
      "get": {
        "description": "What one sent fax cost, for anyone who may read that fax.",
        "operationId": "fax_cost_routing_faxes__job_id__cost_get",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Fax Cost",
        "tags": [
          "Delivery routes"
        ]
      }
    },
    "/routing/inbound-costs": {
      "get": {
        "description": "Costs for up to 100 received faxes at once; faxes this person cannot read are left out.",
        "operationId": "inbound_costs_routing_inbound_costs_get",
        "parameters": [
          {
            "in": "query",
            "name": "ids",
            "required": false,
            "schema": {
              "default": "",
              "maxLength": 4200,
              "title": "Ids",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Inbound Costs",
        "tags": [
          "Delivery routes"
        ]
      }
    },
    "/routing/inbound/{inbound_id}/cost": {
      "get": {
        "description": "What the call that brought in one received fax cost, for anyone who may read that fax.",
        "operationId": "inbound_cost_routing_inbound__inbound_id__cost_get",
        "parameters": [
          {
            "in": "path",
            "name": "inbound_id",
            "required": true,
            "schema": {
              "title": "Inbound Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Inbound Cost",
        "tags": [
          "Delivery routes"
        ]
      }
    },
    "/routing/published-plans": {
      "get": {
        "description": "A provider's published plans for the installation country, where its API has no published price.",
        "operationId": "published_plans_routing_published_plans_get",
        "parameters": [
          {
            "in": "query",
            "name": "provider_id",
            "required": true,
            "schema": {
              "title": "Provider Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Published Plans",
        "tags": [
          "Delivery routes"
        ]
      }
    },
    "/routing/published-plans/in-use": {
      "get": {
        "description": "Published plans for each sending provider in use with no sending rate card yet, such as eFax.",
        "operationId": "published_plans_in_use_routing_published_plans_in_use_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Published Plans In Use",
        "tags": [
          "Delivery routes"
        ]
      }
    },
    "/routing/rate-cards": {
      "get": {
        "operationId": "list_rate_cards_routing_rate_cards_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Rate Cards",
        "tags": [
          "Delivery routes"
        ]
      },
      "put": {
        "operationId": "put_rate_cards_routing_rate_cards_put",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RateCardsIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Put Rate Cards",
        "tags": [
          "Delivery routes"
        ]
      }
    },
    "/routing/recommendations/plans": {
      "get": {
        "description": "Whether each monthly plan is worth its fee at your traffic (estimates; Faxbot never cancels anything).",
        "operationId": "plan_recommendations_routing_recommendations_plans_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Plan Recommendations",
        "tags": [
          "Delivery routes"
        ]
      }
    },
    "/routing/recommendations/receiving": {
      "get": {
        "description": "Receiving advice from call history: shared channels, quiet numbers and connections (estimates, never applied).\n\nThe shared-channel advice is chosen on the ``days`` before the last ``days``\nand checked on the last ``days``.",
        "operationId": "receiving_recommendations_routing_recommendations_receiving_get",
        "parameters": [
          {
            "in": "query",
            "name": "days",
            "required": false,
            "schema": {
              "default": 30,
              "maximum": 183,
              "minimum": 7,
              "title": "Days",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Receiving Recommendations",
        "tags": [
          "Delivery routes"
        ]
      }
    },
    "/routing/recommendations/sending": {
      "get": {
        "description": "Numbers where another route cost less per delivered fax than the one Faxbot uses first now.",
        "operationId": "sending_recommendations_routing_recommendations_sending_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Sending Recommendations",
        "tags": [
          "Delivery routes"
        ]
      }
    },
    "/routing/reconcile": {
      "post": {
        "description": "Ask the SIP trunk carrier now what each open call cost; never changes a delivery.",
        "operationId": "reconcile_routing_reconcile_post",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Reconcile",
        "tags": [
          "Delivery routes"
        ]
      }
    },
    "/routing/savings": {
      "get": {
        "description": "What sending together, direct delivery and case packets saved in the last ``days`` (estimates).",
        "operationId": "savings_routing_savings_get",
        "parameters": [
          {
            "in": "query",
            "name": "days",
            "required": false,
            "schema": {
              "default": 30,
              "maximum": 366,
              "minimum": 1,
              "title": "Days",
              "type": "integer"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Savings",
        "tags": [
          "Delivery routes"
        ]
      }
    },
    "/signalwire-callback": {
      "post": {
        "operationId": "signalwire_callback_signalwire_callback_post",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Signalwire Callback"
      }
    },
    "/sinch-inbound": {
      "post": {
        "operationId": "sinch_inbound_sinch_inbound_post",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Sinch Inbound",
        "tags": [
          "Inbound"
        ]
      }
    },
    "/work": {
      "get": {
        "operationId": "list_work_work_get",
        "parameters": [
          {
            "in": "query",
            "name": "view",
            "required": false,
            "schema": {
              "default": "all",
              "enum": [
                "all",
                "mine",
                "unassigned",
                "overdue"
              ],
              "title": "View",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "state",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "open",
                    "acknowledged",
                    "done"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "State"
            }
          },
          {
            "in": "query",
            "name": "mailbox",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 100,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Mailbox"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "inbound_fax_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 64,
                  "minLength": 1,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Inbound Fax Id"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Work items you can see, with their owner, target and state",
        "tags": [
          "Work"
        ]
      }
    },
    "/work/counts": {
      "get": {
        "operationId": "work_counts_work_counts_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "How many items you can see in each state",
        "tags": [
          "Work"
        ]
      }
    },
    "/work/settings": {
      "get": {
        "operationId": "get_settings_work_settings_get",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Acknowledgement targets and backup people",
        "tags": [
          "Work"
        ]
      },
      "put": {
        "operationId": "put_settings_work_settings_put",
        "parameters": [
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SettingsIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Change mailbox acknowledgement targets and backup people",
        "tags": [
          "Work"
        ]
      }
    },
    "/work/{item_id}": {
      "get": {
        "operationId": "get_work_work__item_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "item_id",
            "required": true,
            "schema": {
              "title": "Item Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "One work item",
        "tags": [
          "Work"
        ]
      }
    },
    "/work/{item_id}/acknowledge": {
      "post": {
        "operationId": "acknowledge_work_work__item_id__acknowledge_post",
        "parameters": [
          {
            "in": "path",
            "name": "item_id",
            "required": true,
            "schema": {
              "title": "Item Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VersionIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "The owner acknowledges the item",
        "tags": [
          "Work"
        ]
      }
    },
    "/work/{item_id}/assign": {
      "post": {
        "operationId": "assign_work_work__item_id__assign_post",
        "parameters": [
          {
            "in": "path",
            "name": "item_id",
            "required": true,
            "schema": {
              "title": "Item Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Give an item to an owner",
        "tags": [
          "Work"
        ]
      }
    },
    "/work/{item_id}/assignees": {
      "get": {
        "operationId": "work_assignees_work__item_id__assignees_get",
        "parameters": [
          {
            "in": "path",
            "name": "item_id",
            "required": true,
            "schema": {
              "title": "Item Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "People who can see this document and so can own it",
        "tags": [
          "Work"
        ]
      }
    },
    "/work/{item_id}/done": {
      "post": {
        "operationId": "complete_work_work__item_id__done_post",
        "parameters": [
          {
            "in": "path",
            "name": "item_id",
            "required": true,
            "schema": {
              "title": "Item Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DoneIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Mark an item done, with a short note",
        "tags": [
          "Work"
        ]
      }
    },
    "/work/{item_id}/export": {
      "get": {
        "operationId": "export_work_work__item_id__export_get",
        "parameters": [
          {
            "in": "path",
            "name": "item_id",
            "required": true,
            "schema": {
              "title": "Item Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/zip": {}
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Download evidence for an item as a zip",
        "tags": [
          "Work"
        ]
      }
    },
    "/work/{item_id}/history": {
      "get": {
        "operationId": "work_history_work__item_id__history_get",
        "parameters": [
          {
            "in": "path",
            "name": "item_id",
            "required": true,
            "schema": {
              "title": "Item Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "An item's history, oldest first",
        "tags": [
          "Work"
        ]
      }
    },
    "/work/{item_id}/reopen": {
      "post": {
        "operationId": "reopen_work_work__item_id__reopen_post",
        "parameters": [
          {
            "in": "path",
            "name": "item_id",
            "required": true,
            "schema": {
              "title": "Item Id",
              "type": "string"
            }
          },
          {
            "description": "Explicit API key takes precedence over a browser session.",
            "in": "header",
            "name": "x-api-key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Explicit API key takes precedence over a browser session.",
              "title": "X-Api-Key"
            }
          },
          {
            "description": "Required with browser cookies for state-changing requests.",
            "in": "header",
            "name": "x-csrf-token",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Required with browser cookies for state-changing requests.",
              "title": "X-Csrf-Token"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VersionIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Reopen a done item",
        "tags": [
          "Work"
        ]
      }
    }
  },
  "x-faxbot-source": {
    "coverage": "source declarations; no live installation state or provider verification",
    "source_files": {
      "api/app/callback_locator.py": "9faecd06f0a17c77e2f4d7253a4ceac1bcfdf3fc081fb3fc09b8af16eb78fd32",
      "api/app/config_values.py": "22e970e41f3b0bce1743174409f88dc7a1a767e9d5c6d987ba3186d0e03683f5",
      "api/app/main.py": "7896ef04a5766acca84341ae35fb6a7a06e160dc2860dda1e5fff0978ebf6f7d",
      "api/app/outbound_callbacks.py": "cfda98ba9b0e352ce6523a1f8eb60bdd21e786d7c89e982765a3f3410738adb4",
      "api/app/provider_catalog.py": "a392e004704541e7fef46ff433378a72bdd74fbc01eb33968efaefb88beb6242",
      "api/app/provider_signatures.py": "f881a0530a5f46fa794909c52c33c05d9dd32750473b9d425eddd664918e9400",
      "config/provider_traits.json": "3bb2736b7bb0f7f1dd7f9931fdedbc830d0cbb4fedf9a2d3f24398fd3cb1aeae"
    },
    "source_ref": "main",
    "source_sha": "796717af517d50d52249a484fa35c42394ada304",
    "source_tree_dirty": false
  }
}
