{
  "openapi": "3.1.0",
  "info": {
    "title": "EnrollPilot Public API",
    "version": "1.0.0",
    "description": "Read-only access to your organization's credentialing data. Authenticate with an organization API key created in EnrollPilot under Admin, Organization, API keys. Every request is scoped to the organization that owns the key."
  },
  "servers": [
    {
      "url": "https://app.enrollpilot.com/api/v1"
    }
  ],
  "tags": [
    {
      "name": "Providers",
      "description": "Read provider roster, contact details, and identifiers"
    },
    {
      "name": "Provider groups",
      "description": "Read provider groups, locations, and group identifiers"
    },
    {
      "name": "Enrollments",
      "description": "Read provider enrollment cases and group contracts"
    },
    {
      "name": "Documents",
      "description": "Read document metadata (no file contents)"
    },
    {
      "name": "Expirables",
      "description": "Credentials and documents approaching their expiration date"
    }
  ],
  "security": [
    {
      "apiKey": []
    }
  ],
  "paths": {
    "/providers": {
      "get": {
        "tags": [
          "Providers"
        ],
        "operationId": "listProviders",
        "summary": "List providers",
        "description": "Requires the providers:read scope.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum rows to return. Default 50, maximum 200.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque keyset cursor returned as nextCursor by the previous page. Omit for the first page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_since",
            "in": "query",
            "required": false,
            "description": "ISO 8601 timestamp. Returns rows whose updatedAt is greater than or equal to this value. The boundary is inclusive, so overlap your watermark and deduplicate by id.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "active",
            "in": "query",
            "required": false,
            "description": "Filter by employment status. Omit to return both active and inactive providers.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of results.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Provider"
                      }
                    },
                    "nextCursor": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Cursor for the next page, or null when the walk is complete."
                    }
                  },
                  "required": [
                    "data",
                    "nextCursor"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: a query parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "invalid_key: the key is missing, malformed, unknown, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "payment_past_due or subscription_inactive: API access is suspended for billing reasons.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "insufficient_scope or api_disabled.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "not_found: unknown id, or an id belonging to another organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "method_not_allowed: v1 is read-only and supports GET only.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "rate_limited: per-key or per-organization limit exceeded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "internal_error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "api_unavailable or api_temporarily_unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/providers/{id}": {
      "get": {
        "tags": [
          "Providers"
        ],
        "operationId": "getProvider",
        "summary": "Get a provider",
        "description": "Requires the providers:read scope. Ids belonging to another organization return 404.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Resource id.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Provider"
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: a query parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "invalid_key: the key is missing, malformed, unknown, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "payment_past_due or subscription_inactive: API access is suspended for billing reasons.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "insufficient_scope or api_disabled.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "not_found: unknown id, or an id belonging to another organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "method_not_allowed: v1 is read-only and supports GET only.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "rate_limited: per-key or per-organization limit exceeded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "internal_error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "api_unavailable or api_temporarily_unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/provider-groups": {
      "get": {
        "tags": [
          "Provider groups"
        ],
        "operationId": "listProviderGroups",
        "summary": "List provider groups",
        "description": "Requires the groups:read scope.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum rows to return. Default 50, maximum 200.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque keyset cursor returned as nextCursor by the previous page. Omit for the first page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_since",
            "in": "query",
            "required": false,
            "description": "ISO 8601 timestamp. Returns rows whose updatedAt is greater than or equal to this value. The boundary is inclusive, so overlap your watermark and deduplicate by id.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of results.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ProviderGroup"
                      }
                    },
                    "nextCursor": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Cursor for the next page, or null when the walk is complete."
                    }
                  },
                  "required": [
                    "data",
                    "nextCursor"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: a query parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "invalid_key: the key is missing, malformed, unknown, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "payment_past_due or subscription_inactive: API access is suspended for billing reasons.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "insufficient_scope or api_disabled.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "not_found: unknown id, or an id belonging to another organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "method_not_allowed: v1 is read-only and supports GET only.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "rate_limited: per-key or per-organization limit exceeded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "internal_error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "api_unavailable or api_temporarily_unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/provider-groups/{id}": {
      "get": {
        "tags": [
          "Provider groups"
        ],
        "operationId": "getProviderGroup",
        "summary": "Get a provider group",
        "description": "Requires the groups:read scope. Ids belonging to another organization return 404.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Resource id.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ProviderGroup"
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: a query parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "invalid_key: the key is missing, malformed, unknown, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "payment_past_due or subscription_inactive: API access is suspended for billing reasons.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "insufficient_scope or api_disabled.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "not_found: unknown id, or an id belonging to another organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "method_not_allowed: v1 is read-only and supports GET only.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "rate_limited: per-key or per-organization limit exceeded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "internal_error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "api_unavailable or api_temporarily_unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/enrollments": {
      "get": {
        "tags": [
          "Enrollments"
        ],
        "operationId": "listEnrollments",
        "summary": "List provider enrollment cases",
        "description": "Requires the enrollments:read scope.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum rows to return. Default 50, maximum 200.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque keyset cursor returned as nextCursor by the previous page. Omit for the first page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_since",
            "in": "query",
            "required": false,
            "description": "ISO 8601 timestamp. Returns rows whose updatedAt is greater than or equal to this value. The boundary is inclusive, so overlap your watermark and deduplicate by id.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Filter by enrollment status.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "payer",
            "in": "query",
            "required": false,
            "description": "Filter by payer name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "provider_id",
            "in": "query",
            "required": false,
            "description": "Filter by provider id.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of results.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Enrollment"
                      }
                    },
                    "nextCursor": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Cursor for the next page, or null when the walk is complete."
                    }
                  },
                  "required": [
                    "data",
                    "nextCursor"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: a query parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "invalid_key: the key is missing, malformed, unknown, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "payment_past_due or subscription_inactive: API access is suspended for billing reasons.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "insufficient_scope or api_disabled.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "not_found: unknown id, or an id belonging to another organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "method_not_allowed: v1 is read-only and supports GET only.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "rate_limited: per-key or per-organization limit exceeded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "internal_error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "api_unavailable or api_temporarily_unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/enrollments/{id}": {
      "get": {
        "tags": [
          "Enrollments"
        ],
        "operationId": "getEnrollment",
        "summary": "Get an enrollment case",
        "description": "Requires the enrollments:read scope. Ids belonging to another organization return 404.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Resource id.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Enrollment"
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: a query parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "invalid_key: the key is missing, malformed, unknown, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "payment_past_due or subscription_inactive: API access is suspended for billing reasons.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "insufficient_scope or api_disabled.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "not_found: unknown id, or an id belonging to another organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "method_not_allowed: v1 is read-only and supports GET only.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "rate_limited: per-key or per-organization limit exceeded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "internal_error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "api_unavailable or api_temporarily_unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/group-enrollments": {
      "get": {
        "tags": [
          "Enrollments"
        ],
        "operationId": "listGroupEnrollments",
        "summary": "List group contracts",
        "description": "Requires the enrollments:read scope.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum rows to return. Default 50, maximum 200.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque keyset cursor returned as nextCursor by the previous page. Omit for the first page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_since",
            "in": "query",
            "required": false,
            "description": "ISO 8601 timestamp. Returns rows whose updatedAt is greater than or equal to this value. The boundary is inclusive, so overlap your watermark and deduplicate by id.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Filter by group enrollment status.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "payer",
            "in": "query",
            "required": false,
            "description": "Filter by payer name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "group_id",
            "in": "query",
            "required": false,
            "description": "Filter by provider group id.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of results.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/GroupEnrollment"
                      }
                    },
                    "nextCursor": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Cursor for the next page, or null when the walk is complete."
                    }
                  },
                  "required": [
                    "data",
                    "nextCursor"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: a query parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "invalid_key: the key is missing, malformed, unknown, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "payment_past_due or subscription_inactive: API access is suspended for billing reasons.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "insufficient_scope or api_disabled.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "not_found: unknown id, or an id belonging to another organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "method_not_allowed: v1 is read-only and supports GET only.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "rate_limited: per-key or per-organization limit exceeded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "internal_error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "api_unavailable or api_temporarily_unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/group-enrollments/{id}": {
      "get": {
        "tags": [
          "Enrollments"
        ],
        "operationId": "getGroupEnrollment",
        "summary": "Get a group contract",
        "description": "Requires the enrollments:read scope. Ids belonging to another organization return 404.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Resource id.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/GroupEnrollment"
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: a query parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "invalid_key: the key is missing, malformed, unknown, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "payment_past_due or subscription_inactive: API access is suspended for billing reasons.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "insufficient_scope or api_disabled.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "not_found: unknown id, or an id belonging to another organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "method_not_allowed: v1 is read-only and supports GET only.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "rate_limited: per-key or per-organization limit exceeded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "internal_error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "api_unavailable or api_temporarily_unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/documents": {
      "get": {
        "tags": [
          "Documents"
        ],
        "operationId": "listDocuments",
        "summary": "List document metadata",
        "description": "Requires the documents:read scope.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum rows to return. Default 50, maximum 200.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque keyset cursor returned as nextCursor by the previous page. Omit for the first page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_since",
            "in": "query",
            "required": false,
            "description": "ISO 8601 timestamp. Returns rows whose updatedAt is greater than or equal to this value. The boundary is inclusive, so overlap your watermark and deduplicate by id.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "provider_id",
            "in": "query",
            "required": false,
            "description": "Filter by provider id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "group_id",
            "in": "query",
            "required": false,
            "description": "Filter by provider group id.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of results.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Document"
                      }
                    },
                    "nextCursor": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Cursor for the next page, or null when the walk is complete."
                    }
                  },
                  "required": [
                    "data",
                    "nextCursor"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: a query parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "invalid_key: the key is missing, malformed, unknown, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "payment_past_due or subscription_inactive: API access is suspended for billing reasons.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "insufficient_scope or api_disabled.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "not_found: unknown id, or an id belonging to another organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "method_not_allowed: v1 is read-only and supports GET only.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "rate_limited: per-key or per-organization limit exceeded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "internal_error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "api_unavailable or api_temporarily_unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/expirables": {
      "get": {
        "tags": [
          "Expirables"
        ],
        "operationId": "listExpirables",
        "summary": "List expiring credentials",
        "description": "Requires the providers:read scope.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum rows to return. Default 50, maximum 200.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque keyset cursor returned as nextCursor by the previous page. Omit for the first page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "within_days",
            "in": "query",
            "required": false,
            "description": "Only return items expiring within this many days. Default 365, maximum 730.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 730,
              "default": 365
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of results.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Expirable"
                      }
                    },
                    "nextCursor": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Cursor for the next page, or null when the walk is complete."
                    }
                  },
                  "required": [
                    "data",
                    "nextCursor"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: a query parameter failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "invalid_key: the key is missing, malformed, unknown, revoked or expired.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "payment_past_due or subscription_inactive: API access is suspended for billing reasons.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "insufficient_scope or api_disabled.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "not_found: unknown id, or an id belonging to another organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "method_not_allowed: v1 is read-only and supports GET only.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "rate_limited: per-key or per-organization limit exceeded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "internal_error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "api_unavailable or api_temporarily_unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "apiKey": {
        "type": "http",
        "scheme": "bearer",
        "description": "Send your key as `Authorization: Bearer epk_live_XXXXXXXX...`. Keys are shown once at creation. Available scopes: providers:read, providers:read:sensitive, groups:read, enrollments:read, documents:read."
      }
    },
    "schemas": {
      "Provider": {
        "type": "object",
        "properties": {
          "additionalSpecialty1": {
            "type": [
              "string",
              "null"
            ]
          },
          "additionalSpecialty1TaxonomyCode": {
            "type": [
              "string",
              "null"
            ]
          },
          "additionalSpecialty2": {
            "type": [
              "string",
              "null"
            ]
          },
          "additionalSpecialty2TaxonomyCode": {
            "type": [
              "string",
              "null"
            ]
          },
          "additionalSpecialty3": {
            "type": [
              "string",
              "null"
            ]
          },
          "additionalSpecialty3TaxonomyCode": {
            "type": [
              "string",
              "null"
            ]
          },
          "additionalSpecialty4": {
            "type": [
              "string",
              "null"
            ]
          },
          "additionalSpecialty4TaxonomyCode": {
            "type": [
              "string",
              "null"
            ]
          },
          "additionalSpecialty5": {
            "type": [
              "string",
              "null"
            ]
          },
          "additionalSpecialty5TaxonomyCode": {
            "type": [
              "string",
              "null"
            ]
          },
          "billingAddress": {
            "type": [
              "string",
              "null"
            ]
          },
          "billingAddressLine2": {
            "type": [
              "string",
              "null"
            ]
          },
          "billingCity": {
            "type": [
              "string",
              "null"
            ]
          },
          "billingState": {
            "type": [
              "string",
              "null"
            ]
          },
          "billingZip": {
            "type": [
              "string",
              "null"
            ]
          },
          "birthCity": {
            "type": [
              "string",
              "null"
            ]
          },
          "birthCountry": {
            "type": [
              "string",
              "null"
            ]
          },
          "caqhId": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdAt": {
            "type": "string"
          },
          "dateOfBirth": {
            "type": [
              "string",
              "null"
            ]
          },
          "ethnicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "ethnicityDetail": {
            "type": [
              "string",
              "null"
            ]
          },
          "firstName": {
            "type": [
              "string",
              "null"
            ]
          },
          "gender": {
            "type": [
              "string",
              "null"
            ]
          },
          "groupMemberships": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "npi": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "providerGroupId": {
                  "type": "string"
                },
                "tin": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "name",
                "npi",
                "providerGroupId",
                "tin"
              ],
              "additionalProperties": false
            }
          },
          "id": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "languages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "lastName": {
            "type": [
              "string",
              "null"
            ]
          },
          "medicaidParticipation": {
            "type": [
              "string",
              "null"
            ]
          },
          "medicaidStates": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "medicareParticipation": {
            "type": [
              "string",
              "null"
            ]
          },
          "medicareStates": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "middleName": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "npi": {
            "type": "string"
          },
          "otherEmails": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "personalAddress": {
            "type": [
              "string",
              "null"
            ]
          },
          "personalAddressLine2": {
            "type": [
              "string",
              "null"
            ]
          },
          "personalCity": {
            "type": [
              "string",
              "null"
            ]
          },
          "personalCounty": {
            "type": [
              "string",
              "null"
            ]
          },
          "personalEmail": {
            "type": [
              "string",
              "null"
            ]
          },
          "personalFax": {
            "type": [
              "string",
              "null"
            ]
          },
          "personalPhone": {
            "type": [
              "string",
              "null"
            ]
          },
          "personalState": {
            "type": [
              "string",
              "null"
            ]
          },
          "personalZip": {
            "type": [
              "string",
              "null"
            ]
          },
          "providerIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "expiresOn": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "id": {
                  "type": "string"
                },
                "issuedOn": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "metadata": {
                  "$ref": "#/components/schemas/JsonValue"
                },
                "type": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "expiresOn",
                "id",
                "issuedOn",
                "metadata",
                "type",
                "value"
              ],
              "additionalProperties": false
            }
          },
          "secondarySpecialty": {
            "type": [
              "string",
              "null"
            ]
          },
          "secondarySpecialtyTaxonomyCode": {
            "type": [
              "string",
              "null"
            ]
          },
          "specialty": {
            "type": [
              "string",
              "null"
            ]
          },
          "specialtyTaxonomyCode": {
            "type": [
              "string",
              "null"
            ]
          },
          "startDate": {
            "type": [
              "string",
              "null"
            ]
          },
          "suffix": {
            "type": [
              "string",
              "null"
            ]
          },
          "taxonomyCode": {
            "type": [
              "string",
              "null"
            ]
          },
          "telehealthServices": {
            "type": "boolean"
          },
          "termedDate": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "additionalSpecialty1",
          "additionalSpecialty1TaxonomyCode",
          "additionalSpecialty2",
          "additionalSpecialty2TaxonomyCode",
          "additionalSpecialty3",
          "additionalSpecialty3TaxonomyCode",
          "additionalSpecialty4",
          "additionalSpecialty4TaxonomyCode",
          "additionalSpecialty5",
          "additionalSpecialty5TaxonomyCode",
          "billingAddress",
          "billingAddressLine2",
          "billingCity",
          "billingState",
          "billingZip",
          "caqhId",
          "createdAt",
          "firstName",
          "groupMemberships",
          "id",
          "isActive",
          "languages",
          "lastName",
          "medicaidParticipation",
          "medicaidStates",
          "medicareParticipation",
          "medicareStates",
          "middleName",
          "name",
          "npi",
          "otherEmails",
          "personalAddress",
          "personalAddressLine2",
          "personalCity",
          "personalCounty",
          "personalEmail",
          "personalFax",
          "personalPhone",
          "personalState",
          "personalZip",
          "providerIds",
          "secondarySpecialty",
          "secondarySpecialtyTaxonomyCode",
          "specialty",
          "specialtyTaxonomyCode",
          "startDate",
          "suffix",
          "taxonomyCode",
          "telehealthServices",
          "termedDate",
          "type",
          "updatedAt"
        ],
        "additionalProperties": false
      },
      "ProviderGroup": {
        "type": "object",
        "properties": {
          "createdAt": {
            "type": "string"
          },
          "dba": {
            "type": [
              "string",
              "null"
            ]
          },
          "groupIds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "expiresOn": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "id": {
                  "type": "string"
                },
                "issuedOn": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "type": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "expiresOn",
                "id",
                "issuedOn",
                "type",
                "value"
              ]
            }
          },
          "id": {
            "type": "string"
          },
          "locations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "city": {
                  "type": "string"
                },
                "id": {
                  "type": "string"
                },
                "npi": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "serviceName": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "state": {
                  "type": "string"
                },
                "street": {
                  "type": "string"
                },
                "street2": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "zip": {
                  "type": "string"
                }
              },
              "required": [
                "city",
                "id",
                "npi",
                "serviceName",
                "state",
                "street",
                "street2",
                "zip"
              ]
            }
          },
          "name": {
            "type": "string"
          },
          "npi": {
            "type": [
              "string",
              "null"
            ]
          },
          "tin": {
            "type": [
              "string",
              "null"
            ]
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "dba",
          "groupIds",
          "id",
          "locations",
          "name",
          "npi",
          "tin",
          "updatedAt"
        ],
        "additionalProperties": false
      },
      "Enrollment": {
        "type": "object",
        "properties": {
          "assignees": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "caseNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "dueDate": {
            "type": [
              "string",
              "null"
            ]
          },
          "effectiveDate": {
            "type": [
              "string",
              "null"
            ]
          },
          "enrollmentType": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "MEDICARE_FFS",
              "MEDICAID_FFS",
              "PRIVATE_PAYER"
            ]
          },
          "id": {
            "type": "string"
          },
          "lobs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "effectiveDate": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "lineOfBusiness": {
                  "type": "string",
                  "enum": [
                    "COMMERCIAL",
                    "MEDICARE_ADVANTAGE",
                    "MEDICARE_FFS",
                    "MEDICAID_MCO",
                    "MEDICAID_FFS",
                    "EXCHANGE",
                    "CHIP",
                    "DENTAL",
                    "OTHER"
                  ]
                },
                "networkTypes": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "HMO",
                      "PPO",
                      "EPO",
                      "POS",
                      "PFFS",
                      "INDEMNITY",
                      "DPPO",
                      "DHMO",
                      "OTHER"
                    ]
                  }
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "NOT_STARTED",
                    "SUBMITTED",
                    "IN_REVIEW",
                    "APPROVED",
                    "ACTIVE",
                    "SUSPENDED",
                    "TERMINATED",
                    "DENIED"
                  ]
                },
                "statusReason": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "terminationDate": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "effectiveDate",
                "lineOfBusiness",
                "networkTypes",
                "status",
                "statusReason",
                "terminationDate"
              ]
            }
          },
          "missingCount": {
            "type": "integer",
            "minimum": 0
          },
          "nextFollowUpAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "nextFollowUpType": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "FOLLOW_UP",
              "TASK",
              "REMINDER",
              "PHONE",
              "EMAIL",
              "FAX",
              "MAIL",
              "WEBSITE"
            ]
          },
          "npi": {
            "type": "string"
          },
          "participations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "effectiveDate": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "lineOfBusiness": {
                  "type": "string",
                  "enum": [
                    "COMMERCIAL",
                    "MEDICARE_ADVANTAGE",
                    "MEDICARE_FFS",
                    "MEDICAID_MCO",
                    "MEDICAID_FFS",
                    "EXCHANGE",
                    "CHIP",
                    "DENTAL",
                    "OTHER"
                  ]
                },
                "locationAddress": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "locationName": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "locationNpi": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "networkTypes": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "HMO",
                      "PPO",
                      "EPO",
                      "POS",
                      "PFFS",
                      "INDEMNITY",
                      "DPPO",
                      "DHMO",
                      "OTHER"
                    ]
                  }
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "ACTIVE",
                    "PENDING",
                    "TERMINATED",
                    "NOT_STARTED"
                  ]
                },
                "terminationDate": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "effectiveDate",
                "lineOfBusiness",
                "locationAddress",
                "locationName",
                "locationNpi",
                "networkTypes",
                "status",
                "terminationDate"
              ]
            }
          },
          "payerName": {
            "type": "string"
          },
          "providerId": {
            "type": "string"
          },
          "providerName": {
            "type": "string"
          },
          "requirements": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string"
                },
                "state": {
                  "type": "string",
                  "enum": [
                    "MISSING",
                    "REQUESTED",
                    "RECEIVED",
                    "COMPLETE",
                    "NOT_APPLICABLE"
                  ]
                }
              },
              "required": [
                "label",
                "state"
              ]
            }
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "NOT_STARTED",
              "DATA_COLLECTION",
              "DRAFT",
              "PENDING_SIGNATURE",
              "SUBMITTED",
              "ACKNOWLEDGED",
              "PRE_SCREENING",
              "PENDED_AI",
              "PSV_IN_PROGRESS",
              "PEER_REVIEW",
              "VERIFIED",
              "COMMITTEE_REVIEW",
              "APPROVED_PENDING_NETWORK",
              "NEGOTIATION",
              "PENDING_EXECUTION",
              "FULLY_EXECUTED",
              "LOADING_ENTRY",
              "LINKED_ASSOCIATED",
              "PENDING_DIRECTORY",
              "PAR",
              "RE_CREDENTIALING",
              "RE_VALIDATION",
              "WITHDRAWN",
              "DENIED",
              "TERMINATED",
              "DE_PARD",
              "SUSPENDED",
              "ARCHIVED",
              "LOCUM_TENENS",
              "RECIPROCITY_TRANSFER"
            ]
          },
          "statusReason": {
            "type": [
              "string",
              "null"
            ]
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "assignees",
          "caseNumber",
          "dueDate",
          "effectiveDate",
          "enrollmentType",
          "id",
          "lobs",
          "missingCount",
          "nextFollowUpAt",
          "nextFollowUpType",
          "npi",
          "participations",
          "payerName",
          "providerId",
          "providerName",
          "requirements",
          "state",
          "status",
          "statusReason",
          "updatedAt"
        ]
      },
      "GroupEnrollment": {
        "type": "object",
        "properties": {
          "assignees": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "effectiveDate": {
            "type": [
              "string",
              "null"
            ]
          },
          "enrollmentType": {
            "type": [
              "string",
              "null"
            ]
          },
          "groupNpi": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "lobs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "effectiveDate": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "lineOfBusiness": {
                  "type": "string"
                },
                "networkTypes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "status": {
                  "type": "string"
                },
                "statusReason": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "terminationDate": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "effectiveDate",
                "lineOfBusiness",
                "networkTypes",
                "status",
                "statusReason",
                "terminationDate"
              ]
            }
          },
          "payerName": {
            "type": "string"
          },
          "providerGroupId": {
            "type": "string"
          },
          "providerGroupName": {
            "type": "string"
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string"
          },
          "statusReason": {
            "type": [
              "string",
              "null"
            ]
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "assignees",
          "effectiveDate",
          "enrollmentType",
          "groupNpi",
          "id",
          "lobs",
          "payerName",
          "providerGroupId",
          "providerGroupName",
          "state",
          "status",
          "statusReason",
          "updatedAt"
        ]
      },
      "Document": {
        "type": "object",
        "properties": {
          "documentType": {
            "type": [
              "string",
              "null"
            ]
          },
          "expiresOn": {
            "type": [
              "string",
              "null"
            ]
          },
          "fileName": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "providerGroupId": {
            "type": [
              "string",
              "null"
            ]
          },
          "providerId": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "RECEIVED",
              "VERIFIED",
              "REJECTED",
              "EXPIRED"
            ]
          },
          "updatedAt": {
            "type": "string"
          },
          "uploadedAt": {
            "type": "string"
          }
        },
        "required": [
          "documentType",
          "expiresOn",
          "fileName",
          "id",
          "providerGroupId",
          "providerId",
          "status",
          "updatedAt",
          "uploadedAt"
        ]
      },
      "Expirable": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string"
          },
          "daysUntilExpiry": {
            "type": "integer"
          },
          "expiresOn": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "sourceId": {
            "type": "string"
          },
          "sourceType": {
            "type": "string",
            "enum": [
              "PROVIDER_ID",
              "DOCUMENT",
              "ENROLLMENT",
              "ADDRESS_MEDICAID",
              "SUPERVISORY_AGREEMENT",
              "GROUP_ID",
              "GROUP_ADDRESS_MEDICAID",
              "GROUP_DOCUMENT"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "EXPIRED",
              "EXPIRING_SOON",
              "UPCOMING"
            ]
          }
        },
        "required": [
          "category",
          "daysUntilExpiry",
          "expiresOn",
          "label",
          "sourceId",
          "sourceType",
          "status"
        ],
        "additionalProperties": false
      },
      "Error": {
        "type": "object",
        "description": "Every failure uses this envelope. Branch on `code`; messages may be reworded.",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            },
            "required": [
              "code",
              "message"
            ]
          }
        },
        "required": [
          "error"
        ]
      },
      "JsonValue": {
        "description": "Any JSON value.",
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          },
          {
            "type": "null"
          },
          {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JsonValue"
            }
          },
          {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonValue"
            }
          }
        ]
      }
    }
  }
}
