{
  "openapi": "3.0.1",
  "info": {
    "title": "Apizeal API",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.apizeal.com"
    },
    {
      "url": "https://dev.api.apizeal.com"
    }
  ],
  "paths": {
    "/v1/contacts": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "List Contacts",
        "operationId": "list_contacts_v1_contacts_get",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Search by contact name.",
              "title": "Search"
            },
            "description": "Search by contact name."
          },
          {
            "name": "email",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter by email.",
              "format": "email",
              "title": "Email"
            },
            "description": "Filter by email."
          },
          {
            "name": "phone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter by phone",
              "title": "Phone"
            },
            "description": "Filter by phone"
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter by active/inactive.",
              "title": "Status"
            },
            "description": "Filter by active/inactive."
          },
          {
            "name": "lead",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter leads vs clients.",
              "title": "Lead"
            },
            "description": "Filter leads vs clients."
          },
          {
            "name": "created_from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Created date to start search.",
              "title": "Created From"
            },
            "description": "Created date to start search."
          },
          {
            "name": "created_to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Created date to end search.",
              "title": "Created To"
            },
            "description": "Created date to end search."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Opaque cursor from a previous response (next_cursor).",
              "title": "Cursor"
            },
            "description": "Opaque cursor from a previous response (next_cursor)."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "Records per page (max 100).",
              "default": 25,
              "title": "Page Size"
            },
            "description": "Records per page (max 100)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalListExternalContactView"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "external_api_key": []
          }
        ],
        "x-apizeal-scopes": [
          "contacts:read"
        ],
        "x-apizeal-lifecycle": "experimental",
        "x-apizeal-since": "2026-08-25"
      }
    },
    "/v1/contacts/{contact_id}": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "Get Contact",
        "operationId": "get_contact_v1_contacts__contact_id__get",
        "parameters": [
          {
            "name": "contact_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Contact id",
              "title": "Contact Id"
            },
            "description": "Contact id"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalContactView"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "external_api_key": []
          }
        ],
        "x-apizeal-scopes": [
          "contacts:read"
        ],
        "x-apizeal-lifecycle": "experimental",
        "x-apizeal-since": "2026-08-25"
      }
    },
    "/v1/policies": {
      "get": {
        "tags": [
          "Policies"
        ],
        "summary": "List Policies",
        "operationId": "list_policies_v1_policies_get",
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter by code.",
              "title": "Code"
            },
            "description": "Filter by code."
          },
          {
            "name": "status_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "Filter by policy status ids.",
              "title": "Status Ids"
            },
            "description": "Filter by policy status ids."
          },
          {
            "name": "carrier_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "Filter by carrier ids.",
              "title": "Carrier Ids"
            },
            "description": "Filter by carrier ids."
          },
          {
            "name": "program_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "Filter by product type ids.",
              "title": "Program Ids"
            },
            "description": "Filter by product type ids."
          },
          {
            "name": "effective_from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "title": "Effective From"
            }
          },
          {
            "name": "effective_to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "title": "Effective To"
            }
          },
          {
            "name": "submitted_from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "title": "Submitted From"
            }
          },
          {
            "name": "submitted_to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "title": "Submitted To"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Opaque cursor from a previous response (next_cursor).",
              "title": "Cursor"
            },
            "description": "Opaque cursor from a previous response (next_cursor)."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "Records per page (max 100).",
              "default": 25,
              "title": "Page Size"
            },
            "description": "Records per page (max 100)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalListExternalPolicyView"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "external_api_key": []
          }
        ],
        "x-apizeal-scopes": [
          "policies:read"
        ],
        "x-apizeal-lifecycle": "experimental",
        "x-apizeal-since": "2026-08-25"
      }
    },
    "/v1/policies/{policy_id}": {
      "get": {
        "tags": [
          "Policies"
        ],
        "summary": "Get Policy",
        "operationId": "get_policy_v1_policies__policy_id__get",
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Policy id",
              "title": "Policy Id"
            },
            "description": "Policy id"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalPolicyView"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "external_api_key": []
          }
        ],
        "x-apizeal-scopes": [
          "policies:read"
        ],
        "x-apizeal-lifecycle": "experimental",
        "x-apizeal-since": "2026-08-25"
      }
    },
    "/v1/policies/{policy_id}/members": {
      "get": {
        "tags": [
          "Policies"
        ],
        "summary": "Get Policy Members",
        "operationId": "get_policy_members_v1_policies__policy_id__members_get",
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Policy id",
              "title": "Policy Id"
            },
            "description": "Policy id"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalPolicyMemberView"
                  },
                  "title": "Response Get Policy Members V1 Policies  Policy Id  Members Get"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "external_api_key": []
          }
        ],
        "x-apizeal-scopes": [
          "policies:read"
        ],
        "x-apizeal-lifecycle": "experimental",
        "x-apizeal-since": "2026-08-25"
      }
    },
    "/v1/contacts/{contact_id}/policies": {
      "get": {
        "tags": [
          "Policies"
        ],
        "summary": "Get Contact Policies",
        "operationId": "get_contact_policies_v1_contacts__contact_id__policies_get",
        "parameters": [
          {
            "name": "contact_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Contact id",
              "title": "Contact Id"
            },
            "description": "Contact id"
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Opaque cursor from a previous response (next_cursor).",
              "title": "Cursor"
            },
            "description": "Opaque cursor from a previous response (next_cursor)."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "Records per page (max 100).",
              "default": 25,
              "title": "Page Size"
            },
            "description": "Records per page (max 100)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalListExternalPolicyView"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "external_api_key": []
          }
        ],
        "x-apizeal-scopes": [
          "policies:read"
        ],
        "x-apizeal-lifecycle": "experimental",
        "x-apizeal-since": "2026-08-25"
      }
    },
    "/v1/catalog/policy-statuses": {
      "get": {
        "tags": [
          "Catalog"
        ],
        "summary": "Get Policy Statuses",
        "operationId": "get_policy_statuses_v1_catalog_policy_statuses_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ExternalRecord"
                  },
                  "type": "array",
                  "title": "Response Get Policy Statuses V1 Catalog Policy Statuses Get"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "external_api_key": []
          }
        ],
        "x-apizeal-scopes": [
          "catalog:read"
        ],
        "x-apizeal-lifecycle": "experimental",
        "x-apizeal-since": "2026-08-25"
      }
    },
    "/v1/catalog/carriers": {
      "get": {
        "tags": [
          "Catalog"
        ],
        "summary": "Get Carriers",
        "operationId": "get_carriers_v1_catalog_carriers_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ExternalRecord"
                  },
                  "type": "array",
                  "title": "Response Get Carriers V1 Catalog Carriers Get"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "external_api_key": []
          }
        ],
        "x-apizeal-scopes": [
          "catalog:read"
        ],
        "x-apizeal-lifecycle": "experimental",
        "x-apizeal-since": "2026-08-25"
      }
    },
    "/v1/catalog/product-types": {
      "get": {
        "tags": [
          "Catalog"
        ],
        "summary": "Get Product Types",
        "operationId": "get_product_types_v1_catalog_product_types_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ExternalRecord"
                  },
                  "type": "array",
                  "title": "Response Get Product Types V1 Catalog Product Types Get"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "external_api_key": []
          }
        ],
        "x-apizeal-scopes": [
          "catalog:read"
        ],
        "x-apizeal-lifecycle": "experimental",
        "x-apizeal-since": "2026-08-25"
      }
    },
    "/v1/policies/{policy_id}/notes": {
      "get": {
        "tags": [
          "Notes"
        ],
        "summary": "List Policy Notes",
        "operationId": "list_policy_notes_v1_policies__policy_id__notes_get",
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Policy id",
              "title": "Policy Id"
            },
            "description": "Policy id"
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Opaque cursor from a previous response (next_cursor).",
              "title": "Cursor"
            },
            "description": "Opaque cursor from a previous response (next_cursor)."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "Records per page (max 100).",
              "default": 25,
              "title": "Page Size"
            },
            "description": "Records per page (max 100)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalListExternalNoteView"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "external_api_key": []
          }
        ],
        "x-apizeal-scopes": [
          "notes:read"
        ],
        "x-apizeal-lifecycle": "experimental",
        "x-apizeal-since": "2026-08-30"
      }
    },
    "/v1/contacts/{contact_id}/notes": {
      "get": {
        "tags": [
          "Notes"
        ],
        "summary": "List Contact Notes",
        "operationId": "list_contact_notes_v1_contacts__contact_id__notes_get",
        "parameters": [
          {
            "name": "contact_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Contact id",
              "title": "Contact Id"
            },
            "description": "Contact id"
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Opaque cursor from a previous response (next_cursor).",
              "title": "Cursor"
            },
            "description": "Opaque cursor from a previous response (next_cursor)."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "Records per page (max 100).",
              "default": 25,
              "title": "Page Size"
            },
            "description": "Records per page (max 100)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalListExternalNoteView"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "external_api_key": []
          }
        ],
        "x-apizeal-scopes": [
          "notes:read"
        ],
        "x-apizeal-lifecycle": "experimental",
        "x-apizeal-since": "2026-08-30"
      }
    },
    "/v1/policies/{policy_id}/reminders": {
      "get": {
        "tags": [
          "Reminders"
        ],
        "summary": "List Policy Reminders",
        "operationId": "list_policy_reminders_v1_policies__policy_id__reminders_get",
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Policy id",
              "title": "Policy Id"
            },
            "description": "Policy id"
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Opaque cursor from a previous response (next_cursor).",
              "title": "Cursor"
            },
            "description": "Opaque cursor from a previous response (next_cursor)."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "Records per page (max 100).",
              "default": 25,
              "title": "Page Size"
            },
            "description": "Records per page (max 100)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalListExternalReminderView"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "external_api_key": []
          }
        ],
        "x-apizeal-scopes": [
          "reminders:read"
        ],
        "x-apizeal-lifecycle": "experimental",
        "x-apizeal-since": "2026-08-30"
      }
    },
    "/v1/contacts/{contact_id}/reminders": {
      "get": {
        "tags": [
          "Reminders"
        ],
        "summary": "List Contact Reminders",
        "operationId": "list_contact_reminders_v1_contacts__contact_id__reminders_get",
        "parameters": [
          {
            "name": "contact_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Contact id",
              "title": "Contact Id"
            },
            "description": "Contact id"
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Opaque cursor from a previous response (next_cursor).",
              "title": "Cursor"
            },
            "description": "Opaque cursor from a previous response (next_cursor)."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "Records per page (max 100).",
              "default": 25,
              "title": "Page Size"
            },
            "description": "Records per page (max 100)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalListExternalReminderView"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "external_api_key": []
          }
        ],
        "x-apizeal-scopes": [
          "reminders:read"
        ],
        "x-apizeal-lifecycle": "experimental",
        "x-apizeal-since": "2026-08-30"
      }
    },
    "/v1/tasks": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "List Tasks",
        "operationId": "list_tasks_v1_tasks_get",
        "parameters": [
          {
            "name": "status_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter by task status id (see the catalog).",
              "title": "Status Id"
            },
            "description": "Filter by task status id (see the catalog)."
          },
          {
            "name": "contact_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Tasks assigned to or related to this contact.",
              "title": "Contact Id"
            },
            "description": "Tasks assigned to or related to this contact."
          },
          {
            "name": "policy_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Tasks related to this policy.",
              "title": "Policy Id"
            },
            "description": "Tasks related to this policy."
          },
          {
            "name": "due_from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Due date from (inclusive).",
              "title": "Due From"
            },
            "description": "Due date from (inclusive)."
          },
          {
            "name": "due_to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Due date to (inclusive).",
              "title": "Due To"
            },
            "description": "Due date to (inclusive)."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Opaque cursor from a previous response (next_cursor).",
              "title": "Cursor"
            },
            "description": "Opaque cursor from a previous response (next_cursor)."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "Records per page (max 100).",
              "default": 25,
              "title": "Page Size"
            },
            "description": "Records per page (max 100)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalListExternalTaskView"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "external_api_key": []
          }
        ],
        "x-apizeal-scopes": [
          "tasks:read"
        ],
        "x-apizeal-lifecycle": "experimental",
        "x-apizeal-since": "2026-08-30"
      }
    },
    "/v1/tasks/{task_id}": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get Task",
        "operationId": "get_task_v1_tasks__task_id__get",
        "parameters": [
          {
            "name": "task_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Task id",
              "title": "Task Id"
            },
            "description": "Task id"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalTaskView"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "external_api_key": []
          }
        ],
        "x-apizeal-scopes": [
          "tasks:read"
        ],
        "x-apizeal-lifecycle": "experimental",
        "x-apizeal-since": "2026-08-30"
      }
    },
    "/v1/contacts/{contact_id}/medical-appointments": {
      "get": {
        "tags": [
          "Medical Appointments"
        ],
        "summary": "List Medical Appointments",
        "operationId": "list_medical_appointments_v1_contacts__contact_id__medical_appointments_get",
        "parameters": [
          {
            "name": "contact_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Contact id",
              "title": "Contact Id"
            },
            "description": "Contact id"
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Opaque cursor from a previous response (next_cursor).",
              "title": "Cursor"
            },
            "description": "Opaque cursor from a previous response (next_cursor)."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "Records per page (max 100).",
              "default": 25,
              "title": "Page Size"
            },
            "description": "Records per page (max 100)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalListExternalMedicalAppointmentView"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "external_api_key": []
          }
        ],
        "x-apizeal-scopes": [
          "medical:read"
        ],
        "x-apizeal-lifecycle": "experimental",
        "x-apizeal-since": "2026-08-30"
      }
    },
    "/v1/contacts/{contact_id}/medical-appointments/{appointment_id}": {
      "get": {
        "tags": [
          "Medical Appointments"
        ],
        "summary": "Get Medical Appointment",
        "operationId": "get_medical_appointment_v1_contacts__contact_id__medical_appointments__appointment_id__get",
        "parameters": [
          {
            "name": "contact_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Contact id",
              "title": "Contact Id"
            },
            "description": "Contact id"
          },
          {
            "name": "appointment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Appointment id",
              "title": "Appointment Id"
            },
            "description": "Appointment id"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalMedicalAppointmentView"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDetail"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "external_api_key": []
          }
        ],
        "x-apizeal-scopes": [
          "medical:read"
        ],
        "x-apizeal-lifecycle": "experimental",
        "x-apizeal-since": "2026-08-30"
      }
    }
  },
  "components": {
    "schemas": {
      "ChannelCompactView": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "avatar": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Avatar"
          },
          "code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Code"
          },
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "type": {
            "$ref": "#/components/schemas/ChannelType"
          },
          "qty_members": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Qty Members"
          },
          "organization_id": {
            "type": "integer",
            "title": "Organization Id"
          },
          "created_by_id": {
            "type": "integer",
            "title": "Created By Id"
          }
        },
        "type": "object",
        "required": [
          "name",
          "id",
          "type",
          "organization_id",
          "created_by_id"
        ],
        "title": "ChannelCompactView"
      },
      "ChannelType": {
        "type": "string",
        "enum": [
          "chat",
          "group",
          "channel"
        ],
        "title": "ChannelType"
      },
      "ErrorDetail": {
        "properties": {
          "label_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Label Key"
          },
          "detail": {
            "type": "string",
            "title": "Detail"
          }
        },
        "type": "object",
        "required": [
          "detail"
        ],
        "title": "ErrorDetail"
      },
      "ExternalAddress": {
        "properties": {
          "address_1": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Address 1"
          },
          "address_2": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Address 2"
          },
          "city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "City"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          },
          "zip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zip"
          },
          "county": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "County"
          },
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          }
        },
        "type": "object",
        "title": "ExternalAddress"
      },
      "ExternalContactView": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "first_name": {
            "type": "string",
            "title": "First Name"
          },
          "middle_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Middle Name"
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name"
          },
          "last_name2": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name2"
          },
          "full_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Full Name"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone"
          },
          "preferred_language": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Preferred Language",
            "description": "en | es"
          },
          "dob": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dob"
          },
          "age": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Age"
          },
          "gender": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gender",
            "description": "M | F | O"
          },
          "marital_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Marital Status"
          },
          "legal_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Legal Status",
            "description": "Immigration status"
          },
          "birth_country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Birth Country"
          },
          "pregnant": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pregnant"
          },
          "tobacco_user": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tobacco User"
          },
          "deceased": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deceased"
          },
          "deceased_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deceased Date"
          },
          "status": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status",
            "description": "Active contact"
          },
          "lead": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lead"
          },
          "source": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source"
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalAddress"
              },
              {
                "type": "null"
              }
            ]
          },
          "mailing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalAddress"
              },
              {
                "type": "null"
              }
            ]
          },
          "total_income": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Income"
          },
          "employment": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ExternalEmployment"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Employment"
          },
          "agent": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRecord"
              },
              {
                "type": "null"
              }
            ],
            "description": "Agent who owns the contact"
          },
          "referred_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRecord"
              },
              {
                "type": "null"
              }
            ]
          },
          "groups": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ExternalRecord"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Groups"
          },
          "has_ssn": {
            "type": "boolean",
            "title": "Has Ssn",
            "description": "True if the contact has an SSN on file. The value is never exposed.",
            "default": false
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created"
          },
          "last_update": {
            "type": "string",
            "format": "date-time",
            "title": "Last Update"
          }
        },
        "type": "object",
        "required": [
          "id",
          "first_name",
          "created",
          "last_update"
        ],
        "title": "ExternalContactView",
        "description": "Contacto expuesto por la API externa (contrato v1, congelado 2026-08-25).\nSe construye campo a campo desde ContactInternal con from_internal();\nnunca hereda de los View del front. Sin campos cifrados: ssn se expone\nsolo como has_ssn."
      },
      "ExternalEmployment": {
        "properties": {
          "company": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Company"
          },
          "position": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Position"
          },
          "income": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Income"
          },
          "company_phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Company Phone"
          }
        },
        "type": "object",
        "title": "ExternalEmployment"
      },
      "ExternalLifeInsurance": {
        "properties": {
          "last_doc_visit": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Doc Visit"
          },
          "doc_visit_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Doc Visit Reason"
          },
          "background_notes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Background Notes"
          },
          "medical_notes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Medical Notes"
          },
          "mother": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRelative"
              },
              {
                "type": "null"
              }
            ]
          },
          "father": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRelative"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "ExternalLifeInsurance"
      },
      "ExternalListExternalContactView": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ExternalContactView"
            },
            "type": "array",
            "title": "Data"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          },
          "has_more": {
            "type": "boolean",
            "title": "Has More",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "ExternalList[ExternalContactView]"
      },
      "ExternalListExternalMedicalAppointmentView": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ExternalMedicalAppointmentView"
            },
            "type": "array",
            "title": "Data"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          },
          "has_more": {
            "type": "boolean",
            "title": "Has More",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "ExternalList[ExternalMedicalAppointmentView]"
      },
      "ExternalListExternalNoteView": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ExternalNoteView"
            },
            "type": "array",
            "title": "Data"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          },
          "has_more": {
            "type": "boolean",
            "title": "Has More",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "ExternalList[ExternalNoteView]"
      },
      "ExternalListExternalPolicyView": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ExternalPolicyView"
            },
            "type": "array",
            "title": "Data"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          },
          "has_more": {
            "type": "boolean",
            "title": "Has More",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "ExternalList[ExternalPolicyView]"
      },
      "ExternalListExternalReminderView": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ExternalReminderView"
            },
            "type": "array",
            "title": "Data"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          },
          "has_more": {
            "type": "boolean",
            "title": "Has More",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "ExternalList[ExternalReminderView]"
      },
      "ExternalListExternalTaskView": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ExternalTaskView"
            },
            "type": "array",
            "title": "Data"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          },
          "has_more": {
            "type": "boolean",
            "title": "Has More",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "ExternalList[ExternalTaskView]"
      },
      "ExternalMedicaid": {
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id"
          },
          "level": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Level"
          },
          "application_number": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Application Number"
          },
          "dual": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dual"
          }
        },
        "type": "object",
        "title": "ExternalMedicaid"
      },
      "ExternalMedicalAppointmentView": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "status": {
            "type": "string",
            "title": "Status",
            "description": "pending | confirmed | missed | assisted | rescheduled | canceled"
          },
          "reason": {
            "type": "string",
            "title": "Reason"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider",
            "description": "Provider/specialist name."
          },
          "provider_phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Phone"
          },
          "specialty": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Specialty"
          },
          "appointment": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Appointment",
            "description": "Date and time of the appointment."
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalAddress"
              },
              {
                "type": "null"
              }
            ]
          },
          "notes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notes"
          },
          "client_instructions": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Client Instructions"
          },
          "order_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Order Code",
            "description": "Medical order code."
          },
          "contact": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRecord"
              },
              {
                "type": "null"
              }
            ]
          },
          "confirmed_on": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Confirmed On"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created"
          },
          "last_update": {
            "type": "string",
            "format": "date-time",
            "title": "Last Update"
          }
        },
        "type": "object",
        "required": [
          "id",
          "status",
          "reason",
          "created",
          "last_update"
        ],
        "title": "ExternalMedicalAppointmentView",
        "description": "Cita médica expuesta por la API externa (contrato v1.1). Es PHI: vive bajo su propio\nscope (medical:read). El id del proveedor en el CMS y los usuarios que confirman son\ninternos y no forman parte del contrato."
      },
      "ExternalMedicare": {
        "properties": {
          "mbi": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mbi"
          },
          "part_a": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "Part A"
          },
          "part_b": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "Part B"
          },
          "verification": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "Verification"
          },
          "lis": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lis"
          },
          "lis_level": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lis Level"
          }
        },
        "type": "object",
        "title": "ExternalMedicare"
      },
      "ExternalNoteView": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Content",
            "description": "Plain text content of the note."
          },
          "permissions": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Permissions",
            "description": "public | private | internal"
          },
          "urgent": {
            "type": "boolean",
            "title": "Urgent",
            "default": false
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRecord"
              },
              {
                "type": "null"
              }
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created"
          }
        },
        "type": "object",
        "required": [
          "id",
          "created"
        ],
        "title": "ExternalNoteView",
        "description": "Nota expuesta por la API externa (contrato v1.1). Aplica a notas de póliza y de\ncontacto: internamente son tablas distintas con el mismo modelo, y hacia afuera el\nrecurso se distingue por la ruta padre. Solo texto plano: el HTML interno (content)\nno forma parte del contrato."
      },
      "ExternalPolicyMemberView": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "first_name": {
            "type": "string",
            "title": "First Name"
          },
          "middle_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Middle Name"
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name"
          },
          "last_name2": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name2"
          },
          "full_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Full Name"
          },
          "relation": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Relation",
            "description": "Self, Spouse, Child, ..."
          },
          "main": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Main",
            "description": "Policy holder"
          },
          "applicant": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Applicant"
          },
          "dob": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dob"
          },
          "age": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Age"
          },
          "gender": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gender",
            "description": "M | F | O"
          },
          "pregnant": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pregnant"
          },
          "tobacco_user": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tobacco User"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone"
          },
          "has_ssn": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Ssn",
            "description": "True if the member has an SSN on file. The value is never exposed. Null when unknown."
          }
        },
        "type": "object",
        "required": [
          "id",
          "first_name"
        ],
        "title": "ExternalPolicyMemberView",
        "description": "Miembro de póliza expuesto por la API externa (contrato v1, congelado 2026-08-25).\nid es el client_id del contacto subyacente. Sin SSN: solo has_ssn."
      },
      "ExternalPolicyView": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "code": {
            "type": "string",
            "title": "Code"
          },
          "status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRecord"
              },
              {
                "type": "null"
              }
            ]
          },
          "effective": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "Effective"
          },
          "cancel_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cancel Date"
          },
          "enrollment_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enrollment Date"
          },
          "enrollment_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enrollment Reason"
          },
          "submitted": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Submitted"
          },
          "sale_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sale Type"
          },
          "program": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRecord"
              },
              {
                "type": "null"
              }
            ],
            "description": "Product type"
          },
          "carrier": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRecord"
              },
              {
                "type": "null"
              }
            ]
          },
          "plan_metal": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRecord"
              },
              {
                "type": "null"
              }
            ]
          },
          "plan_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plan Id"
          },
          "plan_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plan Name"
          },
          "marketplace_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Marketplace Id"
          },
          "ffm": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ffm"
          },
          "npn": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Npn"
          },
          "premium": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Premium"
          },
          "total_cost": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Cost"
          },
          "subsidy": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Subsidy"
          },
          "household_income": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Household Income"
          },
          "qty_members": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Qty Members"
          },
          "qty_applicants": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Qty Applicants"
          },
          "qty_dependents": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Qty Dependents"
          },
          "payment_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Status",
            "description": "pending | auto-pay | failed | paid | not-applicable"
          },
          "documents_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Documents Status",
            "description": "pending | processing | declined | completed | expired"
          },
          "payment_first_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment First Date"
          },
          "payment_day": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Day"
          },
          "payment_recurrent": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Recurrent"
          },
          "pending_renewal": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pending Renewal"
          },
          "archived_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Archived At"
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalAddress"
              },
              {
                "type": "null"
              }
            ]
          },
          "mailing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalAddress"
              },
              {
                "type": "null"
              }
            ]
          },
          "agent": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRecord"
              },
              {
                "type": "null"
              }
            ],
            "description": "Agent on record"
          },
          "assigned_agent": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRecord"
              },
              {
                "type": "null"
              }
            ]
          },
          "policy_holder": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalPolicyMemberView"
              },
              {
                "type": "null"
              }
            ]
          },
          "tags": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ExternalRecord"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tags"
          },
          "medicare": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalMedicare"
              },
              {
                "type": "null"
              }
            ]
          },
          "medicaid": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalMedicaid"
              },
              {
                "type": "null"
              }
            ]
          },
          "life_insurance": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalLifeInsurance"
              },
              {
                "type": "null"
              }
            ]
          },
          "medicines": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Medicines"
          },
          "primary_doctor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Primary Doctor"
          },
          "notes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notes"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created"
          },
          "last_update": {
            "type": "string",
            "format": "date-time",
            "title": "Last Update"
          }
        },
        "type": "object",
        "required": [
          "id",
          "code",
          "created",
          "last_update"
        ],
        "title": "ExternalPolicyView",
        "description": "Póliza expuesta por la API externa (contrato v1, congelado 2026-08-25).\nSe construye campo a campo desde PolicyInternal con from_internal();\nlos flujos de listado deben resolver el detalle antes de construirla\n(decisión de implementación pendiente en fase 2)."
      },
      "ExternalRecord": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          }
        },
        "type": "object",
        "required": [
          "id"
        ],
        "title": "ExternalRecord",
        "description": "Relación compacta hacia el exterior: solo id y nombre."
      },
      "ExternalRelative": {
        "properties": {
          "alive": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Alive"
          },
          "age": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Age"
          },
          "cause_death": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cause Death"
          }
        },
        "type": "object",
        "title": "ExternalRelative"
      },
      "ExternalReminderView": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status",
            "description": "active | inactive | completed | past_due"
          },
          "private": {
            "type": "boolean",
            "title": "Private",
            "description": "A private reminder is only visible to its creator.",
            "default": true
          },
          "start_on": {
            "type": "string",
            "format": "date-time",
            "title": "Start On"
          },
          "due_on": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Due On"
          },
          "recurrent": {
            "type": "boolean",
            "title": "Recurrent",
            "default": false
          },
          "recurrent_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Recurrent Type",
            "description": "once | day | week | month | year | custom | last_month"
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRecord"
              },
              {
                "type": "null"
              }
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "title": "Created"
          }
        },
        "type": "object",
        "required": [
          "id",
          "title",
          "start_on",
          "created"
        ],
        "title": "ExternalReminderView",
        "description": "Recordatorio expuesto por la API externa (contrato v1.1). Aplica a recordatorios de\npóliza y de contacto (misma tabla interna, FK distinta). Las alertas de envío y los\ndestinatarios son mecánica interna de notificación y no forman parte del contrato."
      },
      "ExternalTaskView": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "due_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "Due Date"
          },
          "priority": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Priority",
            "description": "highest | high | medium | low | lowest"
          },
          "status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRecord"
              },
              {
                "type": "null"
              }
            ],
            "description": "Organization-defined task status."
          },
          "source": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source",
            "description": "Where the task was created from."
          },
          "contact": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRecord"
              },
              {
                "type": "null"
              }
            ],
            "description": "Contact related to the task."
          },
          "assigned_contact": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRecord"
              },
              {
                "type": "null"
              }
            ],
            "description": "Contact who must do the task."
          },
          "assigned_user": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRecord"
              },
              {
                "type": "null"
              }
            ],
            "description": "Agent who must do the task."
          },
          "policy": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRecord"
              },
              {
                "type": "null"
              }
            ],
            "description": "Related policy; name is the policy code."
          },
          "created_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRecord"
              },
              {
                "type": "null"
              }
            ]
          },
          "created": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created"
          },
          "last_update": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Update"
          },
          "completed_on": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Completed On"
          }
        },
        "type": "object",
        "required": [
          "id",
          "title"
        ],
        "title": "ExternalTaskView",
        "description": "Tarea expuesta por la API externa (contrato v1.1). Todas las referencias a personas\ny registros salen como refs mínimos {id, name}; el status es el del catálogo de la\norganización (tabla task_status)."
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "ReactionView": {
        "properties": {
          "emoji": {
            "type": "string",
            "title": "Emoji"
          },
          "user_id": {
            "type": "integer",
            "title": "User Id"
          },
          "user_name": {
            "type": "string",
            "title": "User Name"
          }
        },
        "type": "object",
        "required": [
          "emoji",
          "user_id",
          "user_name"
        ],
        "title": "ReactionView"
      },
      "UserCompactView": {
        "properties": {
          "email": {
            "anyOf": [
              {
                "type": "string",
                "format": "email"
              },
              {
                "type": "string"
              }
            ],
            "title": "Email"
          },
          "first_name": {
            "type": "string",
            "title": "First Name"
          },
          "last_name": {
            "type": "string",
            "title": "Last Name"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Timezone",
            "default": "America/New_York"
          },
          "id": {
            "type": "integer",
            "title": "Id",
            "description": "User Identifier"
          },
          "code": {
            "type": "string",
            "title": "Code"
          },
          "full_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Full Name"
          },
          "avatar": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Avatar"
          },
          "role": {
            "type": "integer",
            "title": "Role"
          },
          "role_is_agency": {
            "type": "boolean",
            "title": "Role Is Agency"
          },
          "organization": {
            "type": "integer",
            "title": "Organization"
          },
          "organization_name": {
            "type": "string",
            "title": "Organization Name"
          },
          "npn": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Npn"
          },
          "marketing_addon": {
            "type": "boolean",
            "title": "Marketing Addon"
          }
        },
        "type": "object",
        "required": [
          "email",
          "first_name",
          "last_name",
          "id",
          "code",
          "role",
          "role_is_agency",
          "organization",
          "marketing_addon"
        ],
        "title": "UserCompactView"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "srcModelsChatsMessagesMessageView": {
        "properties": {
          "message_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Message Id"
          },
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Content",
            "description": "Max length 2000"
          },
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "type": {
            "$ref": "#/components/schemas/srcModelsCoreRecipientMessageType"
          },
          "created": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created"
          },
          "multimedia": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Multimedia"
          },
          "multimedia_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Multimedia Name"
          },
          "multimedia_size": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Multimedia Size"
          },
          "multimedia_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Multimedia Type"
          },
          "message": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/srcModelsChatsMessagesMessageView"
              },
              {
                "type": "null"
              }
            ]
          },
          "sender": {
            "$ref": "#/components/schemas/UserCompactView"
          },
          "channel": {
            "$ref": "#/components/schemas/ChannelCompactView"
          },
          "reactions": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ReactionView"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reactions"
          },
          "sent": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sent"
          },
          "deleted": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deleted"
          },
          "starred": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Starred"
          },
          "pinned": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pinned"
          },
          "edited": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Edited"
          }
        },
        "type": "object",
        "required": [
          "id",
          "type",
          "sender",
          "channel"
        ],
        "title": "MessageView"
      },
      "srcModelsCoreRecipientMessageType": {
        "type": "string",
        "enum": [
          "text",
          "image",
          "video",
          "document",
          "audio",
          "json"
        ],
        "title": "MessageType"
      }
    }
  },
  "tags": [
    {
      "name": "Catalog",
      "description": "Resolve ids (carriers, product types, statuses) to names."
    },
    {
      "name": "Contacts",
      "description": "Your contacts and leads."
    },
    {
      "name": "Medical Appointments",
      "description": "Medical appointments of your contacts."
    },
    {
      "name": "Notes",
      "description": "Notes on policies and contacts."
    },
    {
      "name": "Policies",
      "description": "Policies and their family members."
    },
    {
      "name": "Reminders",
      "description": "Reminders on policies and contacts."
    },
    {
      "name": "Tasks",
      "description": "Tasks created by or assigned to your users."
    }
  ]
}