{
  "openapi": "3.1.0",
  "info": {
    "title": "CU Wire Data Access API",
    "version": "1.1.0",
    "description": "Read-only licensed CU Wire Data API: quarterly delivery, institution research, branches, financial history, comparisons, peers, native historical industry totals, mergers and reviewed vendor relationships."
  },
  "servers": [
    {
      "url": "https://cuwiredata.com"
    }
  ],
  "security": [
    {
      "bearerApiKey": []
    }
  ],
  "paths": {
    "/api/data-feed": {
      "get": {
        "summary": "Return quarterly data-feed metadata or issue a short-lived download broker link",
        "description": "Without a file parameter, returns the deployable manifest for a licensed quarterly feed. With file=archive or a package filename, returns a 302 redirect to a short-lived broker URL when backing storage is configured.",
        "operationId": "getDataFeed",
        "parameters": [
          {
            "name": "period",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-Q[1-4]$",
              "example": "2026-Q1"
            },
            "description": "Quarterly package period. Defaults to the current promoted period when omitted."
          },
          {
            "name": "file",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "archive"
            },
            "description": "Use archive for the full package, or a manifest file path such as institutions.csv when per-file delivery is configured."
          },
          {
            "name": "platform_release_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Pin the current platform artifact release. A mismatch returns 409. Reuse the X-CUWire-Release response header."
          }
        ],
        "responses": {
          "200": {
            "description": "Manifest metadata",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataFeedManifestResponse"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "private, no-store"
                }
              },
              "X-CUWire-Release": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "302": {
            "description": "Short-lived broker link issued for a requested file",
            "headers": {
              "Location": {
                "required": true,
                "schema": {
                  "type": "string",
                  "format": "uri-reference"
                },
                "description": "Short-lived relative broker URL."
              },
              "Cache-Control": {
                "schema": {
                  "const": "private, no-store"
                }
              },
              "X-CUWire-Release": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Query-string API key rejected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401": {
            "description": "Missing bearer API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "Invalid, revoked, or non-data_access key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Requested period or file was not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "405": {
            "description": "GET and OPTIONS are the supported methods.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "409": {
            "description": "Platform release or requested financial period mismatch.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "503": {
            "description": "Download storage or signing is not configured",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/data-feed-download": {
      "get": {
        "summary": "Redeem a short-lived data-feed broker token",
        "description": "Normally reached through the Location header returned by /api/data-feed when a file is requested (curl -L redeems it in the same request). The token expires in 120 seconds by default, is single-use, and is bound to the customer of the requesting key: the same Authorization: Bearer key used for /api/data-feed is required here too. The broker rechecks the originating key, its bound customer, package release and any bound delivery revision, and refuses a second redemption of the same token. Current private packages redirect to a freshly signed storage URL; historical legacy packages retain their configured delivery.",
        "operationId": "redeemDataFeedDownload",
        "security": [
          {
            "bearerApiKey": []
          }
        ],
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Short-lived, single-use broker token issued by /api/data-feed."
          },
          {
            "name": "platform_release_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Pin the current platform artifact release. A mismatch returns 409. Reuse the X-CUWire-Release response header."
          }
        ],
        "responses": {
          "302": {
            "description": "Redirect to backing feed storage",
            "headers": {
              "Location": {
                "required": true,
                "schema": {
                  "type": "string",
                  "format": "uri-reference"
                },
                "description": "Short-lived presigned private storage URL."
              },
              "Cache-Control": {
                "schema": {
                  "const": "private, no-store"
                }
              },
              "X-CUWire-Release": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Invalid token, or missing/malformed bearer API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "Associated API key prefix is no longer authorized, or the presenting key's customer does not match the token's bound customer",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Requested package or file is unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "405": {
            "description": "GET and OPTIONS are the supported methods.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "409": {
            "description": "Platform release or requested financial period mismatch.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "410": {
            "description": "Expired token, a token already redeemed once, or a changed package delivery revision; request a fresh broker link.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "503": {
            "description": "Required approved data, entitlement or delivery service unavailable; no fallback.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "security": []
      }
    },
    "/api/cuwiredata-cu-summary": {
      "get": {
        "summary": "Return current CU system summary",
        "description": "Returns coverage counts for current and retained institution profiles. Financial totals cover current filers; retained totals are separately identified. A period parameter asserts the selected product or analytics release period.",
        "operationId": "getCuWireDataSummary",
        "responses": {
          "200": {
            "description": "Current system summary",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SummaryResponse"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "private, no-store"
                }
              },
              "X-CUWire-Release": {
                "schema": {
                  "type": "string"
                }
              },
              "X-CU-Wire-Data-Release": {
                "description": "Selected financial or source release, also available as data.release.id.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Query-string API key rejected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401": {
            "description": "Missing bearer API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "Invalid, revoked, or non-data_access key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Requested institution was not found in the selected release.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "405": {
            "description": "GET and OPTIONS are the supported methods.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "409": {
            "description": "Platform release or requested financial period mismatch.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected artifact reader error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "503": {
            "description": "Required approved data, entitlement or delivery service unavailable; no fallback.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "platform_release_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Pin the current platform artifact release. A mismatch returns 409. Reuse the X-CUWire-Release response header."
          },
          {
            "name": "release_id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Reuse data.release.id to pin subsequent requests. Product and analytics views accept an older approved release by exact ID; unavailable IDs return503. Artifact delivery returns 409 on a changed release."
          },
          {
            "name": "period",
            "in": "query",
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-Q[1-4]$"
            },
            "description": "Optional selected-release period assertion for product/analytics views; mismatch returns 409. Not a historical range selector and not used by reported view."
          },
          {
            "name": "view",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "product",
                "analytics"
              ]
            },
            "description": "Omit for the configured default. Explicit product and analytics views require their enabled approved reader."
          }
        ]
      }
    },
    "/api/cuwiredata-institutions": {
      "get": {
        "summary": "Return a paginated institution list",
        "description": "Returns a bounded, filterable list from the licensed current-and-retained population of the selected release. Each row preserves its own filing period. Results use readable field names rather than internal compact codes.",
        "operationId": "listCuWireDataInstitutions",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "state employees"
            },
            "description": "Search charter, name, city, or state."
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Z]{2}$",
              "example": "NC"
            }
          },
          {
            "name": "asset_tier",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "mega",
                "large",
                "mid",
                "small",
                "micro"
              ]
            }
          },
          {
            "name": "min_assets",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number",
              "example": 1000000000
            }
          },
          {
            "name": "max_assets",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number",
              "example": 10000000000
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "assets",
                "members",
                "name",
                "net_worth_ratio",
                "return_on_assets",
                "delinquency",
                "loan_to_share"
              ],
              "default": "assets"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ],
              "default": "desc"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          },
          {
            "name": "platform_release_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Pin the current platform artifact release. A mismatch returns 409. Reuse the X-CUWire-Release response header."
          },
          {
            "name": "release_id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Reuse data.release.id to pin subsequent requests. Product and analytics views accept an older approved release by exact ID; unavailable IDs return503. Artifact delivery returns 409 on a changed release."
          },
          {
            "name": "period",
            "in": "query",
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-Q[1-4]$"
            },
            "description": "Optional selected-release period assertion for product/analytics views; mismatch returns 409. Not a historical range selector and not used by reported view."
          },
          {
            "name": "view",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "product",
                "analytics"
              ]
            },
            "description": "Omit for the configured default. Explicit product and analytics views require their enabled approved reader."
          }
        ],
        "responses": {
          "200": {
            "description": "Institution list",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstitutionListResponse"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "private, no-store"
                }
              },
              "X-CUWire-Release": {
                "schema": {
                  "type": "string"
                }
              },
              "X-CU-Wire-Data-Release": {
                "description": "Selected financial or source release, also available as data.release.id.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Query-string API key rejected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401": {
            "description": "Missing bearer API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "Invalid, revoked, or non-data_access key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Requested institution was not found in the selected release.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "405": {
            "description": "GET and OPTIONS are the supported methods.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "409": {
            "description": "Platform release or requested financial period mismatch.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected artifact reader error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "503": {
            "description": "Required approved data, entitlement or delivery service unavailable; no fallback.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/cuwiredata-institution": {
      "get": {
        "summary": "Return one current institution profile",
        "description": "Returns one current or retained institution profile from the selected release, preserving its filing period. Financial views include balances, ratios, benchmark percentiles, capitalization, branch summary and history. The explicit reported view instead returns original source field strings.",
        "operationId": "getCuWireDataInstitution",
        "parameters": [
          {
            "name": "charter",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^\\d+$",
              "example": "66310"
            },
            "description": "NCUA charter number."
          },
          {
            "name": "platform_release_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Pin the current platform artifact release. A mismatch returns 409. Reuse the X-CUWire-Release response header."
          },
          {
            "name": "release_id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Reuse data.release.id to pin subsequent requests. Product and analytics views accept an older approved release by exact ID; unavailable IDs return503. Artifact delivery returns 409 on a changed release. The reported view accepts its source release ID; unavailable source releases return 503."
          },
          {
            "name": "period",
            "in": "query",
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-Q[1-4]$"
            },
            "description": "Optional selected-release period assertion for product/analytics views; mismatch returns 409. Not a historical range selector and not used by reported view."
          },
          {
            "name": "view",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "product",
                "analytics",
                "reported"
              ]
            },
            "description": "Omit for the configured default. Explicit product and analytics views require their enabled approved reader. The reported view returns original source field strings with source provenance."
          }
        ],
        "responses": {
          "200": {
            "description": "Institution profile",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstitutionDetailResponse"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "private, no-store"
                }
              },
              "X-CUWire-Release": {
                "schema": {
                  "type": "string"
                }
              },
              "X-CU-Wire-Data-Release": {
                "description": "Selected financial or source release, also available as data.release.id.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Missing charter or query-string API key rejected",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401": {
            "description": "Missing bearer API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "Invalid, revoked, or non-data_access key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Requested institution was not found in the selected release.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "405": {
            "description": "GET and OPTIONS are the supported methods.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "409": {
            "description": "Platform release or requested financial period mismatch.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "413": {
            "description": "Reported source response exceeds the supported record limit.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected artifact reader error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "503": {
            "description": "Required approved data, entitlement or delivery service unavailable; no fallback.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/cuwiredata-branches": {
      "get": {
        "summary": "Search branch and office locations",
        "description": "All licensed office records, including unmapped offices. Office source dates and financial periods are separate; missing source is not zero offices.",
        "operationId": "getCuWireBranches",
        "parameters": [
          {
            "name": "charter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[1-9]\\d*$",
              "example": "66310"
            },
            "description": "NCUA charter number."
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            },
            "description": "Two-letter state or territory code."
          },
          {
            "name": "city",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Exact case-insensitive city name."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            },
            "description": "Maximum results per request."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100000,
              "default": 0
            },
            "description": "Zero-based continuation offset. A nonzero value requires the documented release pin."
          },
          {
            "name": "release_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^product-[a-f0-9]{24}$"
            },
            "description": "Pin the approved product release returned by data.release.id."
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-Q[1-4]$"
            },
            "description": "Must match the selected product release; not a historical range filter."
          },
          {
            "name": "platform_release_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Pin the current platform artifact release. A mismatch returns 409. Reuse the X-CUWire-Release response header."
          }
        ],
        "responses": {
          "200": {
            "description": "Search branch and office locations",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BranchesAccessResponse"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "private, no-store"
                }
              },
              "X-CUWire-Release": {
                "schema": {
                  "type": "string"
                }
              },
              "X-CU-Wire-Data-Release": {
                "description": "Selected financial or source release, also available as data.release.id.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Unsupported or invalid parameter, missing continuation pin, or query-string key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401": {
            "description": "Missing bearer key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "Invalid, revoked or unlicensed key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Institution or requested period range unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "405": {
            "description": "GET and OPTIONS are the supported methods.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "409": {
            "description": "Release or period mismatch",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "413": {
            "description": "Response exceeds 3 MiB",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429": {
            "description": "120 requests per minute per key exceeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "503": {
            "description": "Approved data unavailable; no fallback data returned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/cuwiredata-history": {
      "get": {
        "summary": "Read institution financial history",
        "description": "Retained profile lineage plus latest filing, ordered by period. Includes native source charter and JOIN_NUMBER; not a historical industry population.",
        "operationId": "getCuWireHistory",
        "parameters": [
          {
            "name": "charter",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[1-9]\\d*$",
              "example": "66310"
            },
            "description": "NCUA charter number."
          },
          {
            "name": "from_period",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-Q[1-4]$"
            },
            "description": "Inclusive historical range boundary."
          },
          {
            "name": "through_period",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-Q[1-4]$"
            },
            "description": "Inclusive historical range boundary."
          },
          {
            "name": "release_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^product-[a-f0-9]{24}$"
            },
            "description": "Pin the approved product release returned by data.release.id."
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-Q[1-4]$"
            },
            "description": "Must match the selected product release; not a historical range filter."
          },
          {
            "name": "platform_release_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Pin the current platform artifact release. A mismatch returns 409. Reuse the X-CUWire-Release response header."
          }
        ],
        "responses": {
          "200": {
            "description": "Read institution financial history",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HistoryAccessResponse"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "private, no-store"
                }
              },
              "X-CUWire-Release": {
                "schema": {
                  "type": "string"
                }
              },
              "X-CU-Wire-Data-Release": {
                "description": "Selected financial or source release, also available as data.release.id.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Unsupported or invalid parameter, missing continuation pin, or query-string key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401": {
            "description": "Missing bearer key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "Invalid, revoked or unlicensed key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Institution or requested period range unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "405": {
            "description": "GET and OPTIONS are the supported methods.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "409": {
            "description": "Release or period mismatch",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "413": {
            "description": "Response exceeds 3 MiB",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429": {
            "description": "120 requests per minute per key exceeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "503": {
            "description": "Approved data unavailable; no fallback data returned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/cuwiredata-compare": {
      "get": {
        "summary": "Compare up to five institutions",
        "description": "Existing named institution details on one approved release. Current and last-known filings retain their own periods; not_found lists missing charters.",
        "operationId": "getCuWireCompare",
        "parameters": [
          {
            "name": "charters",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "66310,5536"
            },
            "description": "One to five distinct comma-separated charter numbers."
          },
          {
            "name": "release_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^product-[a-f0-9]{24}$"
            },
            "description": "Pin the approved product release returned by data.release.id."
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-Q[1-4]$"
            },
            "description": "Must match the selected product release; not a historical range filter."
          },
          {
            "name": "platform_release_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Pin the current platform artifact release. A mismatch returns 409. Reuse the X-CUWire-Release response header."
          }
        ],
        "responses": {
          "200": {
            "description": "Compare up to five institutions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompareAccessResponse"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "private, no-store"
                }
              },
              "X-CUWire-Release": {
                "schema": {
                  "type": "string"
                }
              },
              "X-CU-Wire-Data-Release": {
                "description": "Selected financial or source release, also available as data.release.id.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Unsupported or invalid parameter, missing continuation pin, or query-string key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401": {
            "description": "Missing bearer key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "Invalid, revoked or unlicensed key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Institution or requested period range unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "405": {
            "description": "GET and OPTIONS are the supported methods.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "409": {
            "description": "Release or period mismatch",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "413": {
            "description": "Response exceeds 3 MiB",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429": {
            "description": "120 requests per minute per key exceeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "503": {
            "description": "Approved data unavailable; no fallback data returned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/cuwiredata-peers": {
      "get": {
        "summary": "Compare an institution with its peer group",
        "description": "Uses the existing current-and-retained latest-filing peer cohort, excluding the target. Defaults to its asset tier. Retained targets or fewer than three peers return available=false.",
        "operationId": "getCuWirePeers",
        "parameters": [
          {
            "name": "charter",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[1-9]\\d*$",
              "example": "66310"
            },
            "description": "NCUA charter number."
          },
          {
            "name": "states",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated uppercase state codes."
          },
          {
            "name": "asset_tiers",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated mega, large, mid, small, micro."
          },
          {
            "name": "min_assets",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Nonnegative exact decimal asset lower bound."
          },
          {
            "name": "max_assets",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Nonnegative exact decimal asset upper bound."
          },
          {
            "name": "charter_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "fcu",
                "cu"
              ]
            },
            "description": "Federal or state charter."
          },
          {
            "name": "release_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^product-[a-f0-9]{24}$"
            },
            "description": "Pin the approved product release returned by data.release.id."
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-Q[1-4]$"
            },
            "description": "Must match the selected product release; not a historical range filter."
          },
          {
            "name": "platform_release_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Pin the current platform artifact release. A mismatch returns 409. Reuse the X-CUWire-Release response header."
          }
        ],
        "responses": {
          "200": {
            "description": "Compare an institution with its peer group",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PeersAccessResponse"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "private, no-store"
                }
              },
              "X-CUWire-Release": {
                "schema": {
                  "type": "string"
                }
              },
              "X-CU-Wire-Data-Release": {
                "description": "Selected financial or source release, also available as data.release.id.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Unsupported or invalid parameter, missing continuation pin, or query-string key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401": {
            "description": "Missing bearer key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "Invalid, revoked or unlicensed key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Institution or requested period range unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "405": {
            "description": "GET and OPTIONS are the supported methods.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "409": {
            "description": "Release or period mismatch",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "413": {
            "description": "Response exceeds 3 MiB",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429": {
            "description": "120 requests per minute per key exceeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "503": {
            "description": "Approved data unavailable; no fallback data returned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/cuwiredata-industry-trends": {
      "get": {
        "summary": "Read native quarterly industry totals",
        "description": "Native federally insured filers (CU_TYPE 1 and 2) in each quarter, with period-specific state. Includes institutions absent from the current roster. Exact balance sums are null when any contributing value is missing. Memberships are not unique people.",
        "operationId": "getCuWireIndustryTrends",
        "parameters": [
          {
            "name": "from_period",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-Q[1-4]$"
            },
            "description": "Inclusive historical range boundary."
          },
          {
            "name": "through_period",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-Q[1-4]$"
            },
            "description": "Inclusive historical range boundary."
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            },
            "description": "Two-letter state or territory code."
          },
          {
            "name": "release_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^product-[a-f0-9]{24}$"
            },
            "description": "Pin the approved product release returned by data.release.id."
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-Q[1-4]$"
            },
            "description": "Must match the selected product release; not a historical range filter."
          },
          {
            "name": "platform_release_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Pin the current platform artifact release. A mismatch returns 409. Reuse the X-CUWire-Release response header."
          }
        ],
        "responses": {
          "200": {
            "description": "Read native quarterly industry totals",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IndustryTrendsAccessResponse"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "private, no-store"
                }
              },
              "X-CUWire-Release": {
                "schema": {
                  "type": "string"
                }
              },
              "X-CU-Wire-Data-Release": {
                "description": "Selected financial or source release, also available as data.release.id.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Unsupported or invalid parameter, missing continuation pin, or query-string key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401": {
            "description": "Missing bearer key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "Invalid, revoked or unlicensed key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Institution or requested period range unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "405": {
            "description": "GET and OPTIONS are the supported methods.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "409": {
            "description": "Release or period mismatch",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "413": {
            "description": "Response exceeds 3 MiB",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429": {
            "description": "120 requests per minute per key exceeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "503": {
            "description": "Approved data unavailable; no fallback data returned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/cuwiredata-mergers": {
      "get": {
        "summary": "Search NCUA reported merger approvals and proposed notices",
        "description": "Approved pairs report MAIR approval observations, not completed closings. Repeated monthly observations are retained under one charter-pair record. Proposed dates are member-vote dates.",
        "operationId": "getCuWireMergers",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "approved",
                "completed",
                "proposed"
              ],
              "default": "approved"
            },
            "description": "approved is the default; completed is a compatibility alias returning status:approved, never evidence of a completed closing."
          },
          {
            "name": "charter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[1-9]\\d*$",
              "example": "66310"
            },
            "description": "NCUA charter number."
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            },
            "description": "Two-letter state or territory code."
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Literal name, charter, reason or notice search."
          },
          {
            "name": "from_date",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Inclusive date boundary; MAIR month overlap."
          },
          {
            "name": "through_date",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Inclusive date boundary; MAIR month overlap."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            },
            "description": "Maximum results per request."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100000,
              "default": 0
            },
            "description": "Zero-based continuation offset. A nonzero value requires the documented release pin."
          },
          {
            "name": "platform_release_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Pin the current platform artifact release. A mismatch returns 409. Reuse the X-CUWire-Release response header. Required when offset is greater than zero."
          }
        ],
        "responses": {
          "200": {
            "description": "Search NCUA merger records",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MergersAccessResponse"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "private, no-store"
                }
              },
              "X-CUWire-Release": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Unsupported or invalid parameter, missing continuation pin, or query-string key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401": {
            "description": "Missing bearer key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "Invalid, revoked or unlicensed key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Institution or requested period range unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "405": {
            "description": "GET and OPTIONS are the supported methods.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "409": {
            "description": "Release or period mismatch",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "413": {
            "description": "Response exceeds 3 MiB",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429": {
            "description": "120 requests per minute per key exceeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "503": {
            "description": "Approved data unavailable; no fallback data returned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/cuwiredata-vendor-relationships": {
      "get": {
        "summary": "Search reviewed vendor relationships",
        "description": "Dated first-party relationship evidence and reviewed technical inference. Inferred relationships identify a provider or platform family from public website fingerprints and do not establish a verified contract. Core-platform inference does not confirm the servicing provider. Reported in use is not independent current-contract verification. Empty results do not prove absence. Unreviewed research candidates and internal queues are excluded.",
        "operationId": "getCuWireVendorRelationships",
        "parameters": [
          {
            "name": "charter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[1-9]\\d*$",
              "example": "66310"
            },
            "description": "NCUA charter number."
          },
          {
            "name": "vendor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Vendor identifier, for example verint."
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Exact recorded product category."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "reported_live",
                "selected",
                "customer_reference",
                "former",
                "historical",
                "inferred"
              ]
            },
            "description": "Reviewed evidence status. Inferred means reviewed public website fingerprints, not a verified contract."
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Literal search across CU, vendor, product and category."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 50
            },
            "description": "Maximum results per request."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10000,
              "default": 0
            },
            "description": "Zero-based continuation offset. A nonzero value requires the documented release pin."
          },
          {
            "name": "platform_release_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Pin the current platform artifact release. A mismatch returns 409. Reuse the X-CUWire-Release response header. Required when offset is greater than zero."
          }
        ],
        "responses": {
          "200": {
            "description": "Search reviewed vendor relationships",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VendorRelationshipsAccessResponse"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "private, no-store"
                }
              },
              "X-CUWire-Release": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Unsupported or invalid parameter, missing continuation pin, or query-string key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401": {
            "description": "Missing bearer key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403": {
            "description": "Invalid, revoked or unlicensed key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Institution or requested period range unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "405": {
            "description": "GET and OPTIONS are the supported methods.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "409": {
            "description": "Release or period mismatch",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "413": {
            "description": "Response exceeds 3 MiB",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429": {
            "description": "120 requests per minute per key exceeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "503": {
            "description": "Approved data unavailable; no fallback data returned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerApiKey": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "CUWIREDATA_API_KEY",
        "description": "Send as Authorization: Bearer <CUWIREDATA_API_KEY>. Keys must have tier data_access."
      }
    },
    "schemas": {
      "DataFeedManifestResponse": {
        "type": "object",
        "required": [
          "ok",
          "trace_id",
          "data"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "const": true
          },
          "trace_id": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "product",
              "period",
              "coverage",
              "files",
              "api",
              "archive"
            ],
            "properties": {
              "product": {
                "type": "string",
                "example": "CU Wire Quarterly Data Feed"
              },
              "package_version": {
                "type": "integer",
                "example": 1
              },
              "generated_at": {
                "type": "string",
                "format": "date-time"
              },
              "period": {
                "type": "string",
                "example": "2026-Q1"
              },
              "cycle_date": {
                "type": "string",
                "format": "date",
                "example": "2026-03-31"
              },
              "coverage": {
                "type": "object"
              },
              "files": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DataFeedFile"
                }
              },
              "api": {
                "type": "object",
                "required": [
                  "endpoint",
                  "auth",
                  "query_keys_allowed"
                ],
                "properties": {
                  "endpoint": {
                    "type": "string"
                  },
                  "auth": {
                    "type": "string"
                  },
                  "query_keys_allowed": {
                    "const": false
                  },
                  "origin": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "archive": {
                "type": "object",
                "required": [
                  "path",
                  "href"
                ],
                "properties": {
                  "path": {
                    "type": "string"
                  },
                  "href": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "cycle": {
                "type": "string"
              },
              "person_level_fields_excluded": {
                "type": "boolean"
              },
              "executive_data_excluded": {
                "type": "boolean"
              },
              "notes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "application_financial_release": {
                "$ref": "#/components/schemas/FeedFinancialRelease"
              },
              "delivery": {
                "type": "object",
                "additionalProperties": true
              },
              "delivery_revision": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        },
        "additionalProperties": false
      },
      "DataFeedFile": {
        "type": "object",
        "required": [
          "path",
          "rows",
          "bytes",
          "sha256",
          "href"
        ],
        "properties": {
          "path": {
            "type": "string",
            "example": "institutions.csv"
          },
          "rows": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          },
          "bytes": {
            "type": "integer",
            "minimum": 0
          },
          "sha256": {
            "type": "string"
          },
          "href": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "SummaryResponse": {
        "type": "object",
        "required": [
          "ok",
          "trace_id",
          "data"
        ],
        "properties": {
          "ok": {
            "const": true
          },
          "trace_id": {
            "type": "string"
          },
          "data": {
            "$ref": "#/components/schemas/SummaryData"
          }
        },
        "additionalProperties": false
      },
      "InstitutionListResponse": {
        "type": "object",
        "required": [
          "ok",
          "trace_id",
          "data"
        ],
        "properties": {
          "ok": {
            "const": true
          },
          "trace_id": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "period",
              "release",
              "source",
              "total",
              "limit",
              "offset",
              "results"
            ],
            "properties": {
              "period": {
                "type": [
                  "string",
                  "null"
                ],
                "pattern": "^\\d{4}-Q[1-4]$"
              },
              "release": {
                "$ref": "#/components/schemas/FinancialRelease"
              },
              "as_of_date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date"
              },
              "source": {
                "type": "string"
              },
              "total": {
                "type": "integer",
                "minimum": 0
              },
              "limit": {
                "type": "integer",
                "minimum": 1,
                "maximum": 200
              },
              "offset": {
                "type": "integer",
                "minimum": 0
              },
              "results": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InstitutionListItem"
                }
              },
              "coverage": {
                "type": "object",
                "additionalProperties": true
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "InstitutionListItem": {
        "type": "object",
        "required": [
          "charter",
          "name",
          "period",
          "source",
          "assets_usd",
          "members"
        ],
        "properties": {
          "charter": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "charter_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "asset_tier": {
            "type": [
              "string",
              "null"
            ]
          },
          "asset_tier_label": {
            "type": [
              "string",
              "null"
            ]
          },
          "website": {
            "type": [
              "string",
              "null"
            ]
          },
          "health": {
            "type": [
              "string",
              "null"
            ]
          },
          "field_of_membership": {
            "type": [
              "string",
              "null"
            ]
          },
          "data_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "profile_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "app_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "health_method": {
            "type": [
              "string",
              "null"
            ]
          },
          "period": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^\\d{4}-Q[1-4]$"
          },
          "health_period": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^\\d{4}-Q[1-4]$"
          },
          "as_of_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "source": {
            "type": "string"
          },
          "current": {
            "type": "boolean"
          },
          "assets_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "net_worth_ratio_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "return_on_assets_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "delinquency_ratio_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "loan_to_share_ratio_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "members": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          },
          "metric_availability": {
            "$ref": "#/components/schemas/MetricAvailability"
          }
        },
        "additionalProperties": false
      },
      "InstitutionDetailResponse": {
        "type": "object",
        "required": [
          "ok",
          "trace_id",
          "data"
        ],
        "properties": {
          "ok": {
            "const": true
          },
          "trace_id": {
            "type": "string"
          },
          "data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/FinancialInstitutionData"
              },
              {
                "$ref": "#/components/schemas/ReportedInstitutionData"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "BranchesAccessResponse": {
        "type": "object",
        "required": [
          "ok",
          "trace_id",
          "data"
        ],
        "properties": {
          "ok": {
            "const": true
          },
          "trace_id": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "release",
              "results",
              "total",
              "offset",
              "limit",
              "next_offset",
              "source",
              "coverage"
            ],
            "properties": {
              "release": {
                "$ref": "#/components/schemas/FinancialRelease"
              },
              "results": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "charter",
                    "office_ordinal",
                    "latitude",
                    "longitude",
                    "source_as_of",
                    "financial_period"
                  ],
                  "properties": {
                    "charter": {
                      "type": "string"
                    },
                    "institution_name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "site_id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "site": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "address": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "city": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "state": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "zip": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "phone": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "office_type": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "source_as_of": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "context_source_id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "financial_period": {
                      "type": "string",
                      "pattern": "^\\d{4}-Q[1-4]$"
                    },
                    "office_ordinal": {
                      "type": "integer"
                    },
                    "is_main_office": {
                      "type": "boolean"
                    },
                    "current": {
                      "type": "boolean"
                    },
                    "latitude": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "longitude": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              },
              "total": {
                "type": "integer"
              },
              "offset": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "next_offset": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "source": {
                "type": "string"
              },
              "coverage": {
                "type": "object",
                "required": [
                  "institutions",
                  "institutions_with_office_source",
                  "institutions_without_office_source"
                ],
                "properties": {
                  "institutions": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "institutions_with_office_source": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "institutions_without_office_source": {
                    "type": "integer",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "HistoryAccessResponse": {
        "type": "object",
        "required": [
          "ok",
          "trace_id",
          "data"
        ],
        "properties": {
          "ok": {
            "const": true
          },
          "trace_id": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "release",
              "results",
              "institution",
              "history_scope",
              "available_periods",
              "count",
              "metric_definitions"
            ],
            "properties": {
              "release": {
                "$ref": "#/components/schemas/FinancialRelease"
              },
              "results": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "period",
                    "source_charter",
                    "source_join_number",
                    "source_release_id"
                  ],
                  "properties": {
                    "period": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "source_charter": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "source_join_number": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "source_release_id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "assets_usd": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "total_loans_usd": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "total_shares_usd": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "net_worth_usd": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "members": {
                      "type": [
                        "integer",
                        "null"
                      ],
                      "minimum": 0
                    },
                    "net_worth_ratio_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "return_on_assets_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "delinquency_ratio_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "net_charge_off_ratio_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "loan_to_share_ratio_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "unavailable_metrics": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "additionalProperties": false
                }
              },
              "institution": {
                "$ref": "#/components/schemas/InstitutionIdentity"
              },
              "history_scope": {
                "const": "retained_institution_history"
              },
              "available_periods": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^\\d{4}-Q[1-4]$"
                }
              },
              "count": {
                "type": "integer",
                "minimum": 0
              },
              "metric_definitions": {
                "$ref": "#/components/schemas/HistoryMetricDefinitions"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "CompareAccessResponse": {
        "type": "object",
        "required": [
          "ok",
          "trace_id",
          "data"
        ],
        "properties": {
          "ok": {
            "const": true
          },
          "trace_id": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "release",
              "comparison_scope",
              "results",
              "not_found"
            ],
            "properties": {
              "release": {
                "$ref": "#/components/schemas/FinancialRelease"
              },
              "comparison_scope": {
                "const": "licensed_current_and_retained_latest_filings"
              },
              "results": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FinancialInstitutionData"
                },
                "maxItems": 5
              },
              "not_found": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "PeersAccessResponse": {
        "type": "object",
        "required": [
          "ok",
          "trace_id",
          "data"
        ],
        "properties": {
          "ok": {
            "const": true
          },
          "trace_id": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "release",
              "available",
              "unavailable_reason",
              "target",
              "peer_count",
              "population",
              "metrics",
              "available_counts",
              "peers",
              "returned_peers_limit"
            ],
            "properties": {
              "release": {
                "$ref": "#/components/schemas/FinancialRelease"
              },
              "available": {
                "type": "boolean"
              },
              "unavailable_reason": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "target": {
                "$ref": "#/components/schemas/PeerIdentity"
              },
              "peer_count": {
                "type": [
                  "integer",
                  "null"
                ],
                "minimum": 0
              },
              "population": {
                "type": "object",
                "additionalProperties": true
              },
              "metric_version": {
                "type": "string"
              },
              "metrics": {
                "type": "object",
                "required": [],
                "properties": {
                  "net_worth_ratio_pct": {
                    "$ref": "#/components/schemas/PeerMetric"
                  },
                  "delinquency_ratio_pct": {
                    "$ref": "#/components/schemas/PeerMetric"
                  },
                  "return_on_assets_pct": {
                    "$ref": "#/components/schemas/PeerMetric"
                  },
                  "loan_to_share_ratio_pct": {
                    "$ref": "#/components/schemas/PeerMetric"
                  },
                  "net_charge_off_ratio_pct": {
                    "$ref": "#/components/schemas/PeerMetric"
                  },
                  "assets_usd": {
                    "$ref": "#/components/schemas/PeerMetric"
                  },
                  "memberships": {
                    "$ref": "#/components/schemas/PeerMetric"
                  }
                },
                "additionalProperties": false
              },
              "available_counts": {
                "type": "object",
                "required": [],
                "properties": {
                  "net_worth_ratio_pct": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "delinquency_ratio_pct": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "return_on_assets_pct": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "loan_to_share_ratio_pct": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "net_charge_off_ratio_pct": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "assets_usd": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "memberships": {
                    "type": "integer",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              },
              "peers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PeerIdentity"
                },
                "maxItems": 50
              },
              "returned_peers_limit": {
                "const": 50
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "IndustryTrendsAccessResponse": {
        "type": "object",
        "required": [
          "ok",
          "trace_id",
          "data"
        ],
        "properties": {
          "ok": {
            "const": true
          },
          "trace_id": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "release",
              "results",
              "endpoint_contract",
              "history_release_id",
              "history_manifest_sha256",
              "population",
              "state",
              "metric_definitions",
              "membership_unit",
              "count"
            ],
            "properties": {
              "release": {
                "$ref": "#/components/schemas/FinancialRelease"
              },
              "results": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "period",
                    "current_filing_credit_unions",
                    "available_counts",
                    "source_release_id",
                    "source_manifest_sha256"
                  ],
                  "properties": {
                    "period": {
                      "type": "string"
                    },
                    "current_filing_credit_unions": {
                      "type": "integer"
                    },
                    "total_assets_usd": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "total_loans_usd": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "total_shares_usd": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "total_net_worth_usd": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "total_memberships": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "available_counts": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "integer"
                      }
                    },
                    "source_release_id": {
                      "type": "string"
                    },
                    "source_manifest_sha256": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "endpoint_contract": {
                "const": "native-insured-industry-totals-v1"
              },
              "history_release_id": {
                "type": "string"
              },
              "history_manifest_sha256": {
                "type": "string"
              },
              "population": {
                "const": "native_federally_insured_filers_in_each_period"
              },
              "state": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "metric_definitions": {
                "type": "object",
                "required": [
                  "total_assets_usd",
                  "total_loans_usd",
                  "total_shares_usd",
                  "total_memberships",
                  "total_net_worth_usd"
                ],
                "additionalProperties": {
                  "$ref": "#/components/schemas/MetricDefinition"
                }
              },
              "membership_unit": {
                "type": "string"
              },
              "count": {
                "type": "integer",
                "minimum": 0
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "MergersAccessResponse": {
        "type": "object",
        "required": [
          "ok",
          "trace_id",
          "data"
        ],
        "properties": {
          "ok": {
            "const": true
          },
          "trace_id": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "platform_release_id",
              "results",
              "total",
              "offset",
              "limit",
              "next_offset",
              "status",
              "source",
              "source_url",
              "date_basis",
              "identity_coverage",
              "count_unit"
            ],
            "properties": {
              "platform_release_id": {
                "type": "string"
              },
              "results": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "id",
                    "status",
                    "merging",
                    "continuing",
                    "date_type",
                    "source_url",
                    "date",
                    "reporting_month"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "status": {
                      "enum": [
                        "approved",
                        "proposed"
                      ]
                    },
                    "reporting_month": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "date": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "date_type": {
                      "enum": [
                        "mair_first_reporting_month",
                        "member_vote_date"
                      ]
                    },
                    "merging": {
                      "$ref": "#/components/schemas/MergerInstitution"
                    },
                    "continuing": {
                      "$ref": "#/components/schemas/MergerInstitution"
                    },
                    "source_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "reason": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "notice": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "last_reporting_month": {
                      "type": "string"
                    },
                    "observation_count": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "reporting_months": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "observations": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MergerObservation"
                      }
                    }
                  },
                  "additionalProperties": false,
                  "allOf": [
                    {
                      "if": {
                        "properties": {
                          "status": {
                            "const": "approved"
                          }
                        }
                      },
                      "then": {
                        "required": [
                          "last_reporting_month",
                          "observation_count",
                          "reporting_months",
                          "observations",
                          "reason"
                        ],
                        "properties": {
                          "date": {
                            "type": "null"
                          },
                          "reporting_month": {
                            "type": "string",
                            "pattern": "^\\d{4}-\\d{2}$"
                          },
                          "date_type": {
                            "const": "mair_first_reporting_month"
                          }
                        }
                      },
                      "else": {
                        "required": [
                          "notice"
                        ],
                        "properties": {
                          "reporting_month": {
                            "type": "null"
                          },
                          "date_type": {
                            "const": "member_vote_date"
                          }
                        }
                      }
                    }
                  ]
                }
              },
              "total": {
                "type": "integer"
              },
              "offset": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "next_offset": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "status": {
                "enum": [
                  "approved",
                  "proposed"
                ]
              },
              "source": {
                "type": "string"
              },
              "source_url": {
                "type": "string"
              },
              "updated_at": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "date_basis": {
                "type": "string"
              },
              "identity_coverage": {
                "type": "string"
              },
              "count_unit": {
                "enum": [
                  "reported_charter_pairs",
                  "notices"
                ]
              },
              "source_records": {
                "type": "integer",
                "minimum": 0,
                "description": "Number of native observations in the entire approved source dataset, before endpoint filters. Not the number of matching or returned charter pairs."
              }
            },
            "additionalProperties": false,
            "allOf": [
              {
                "if": {
                  "properties": {
                    "status": {
                      "const": "approved"
                    }
                  }
                },
                "then": {
                  "required": [
                    "source_records"
                  ],
                  "properties": {
                    "count_unit": {
                      "const": "reported_charter_pairs"
                    }
                  }
                },
                "else": {
                  "properties": {
                    "count_unit": {
                      "const": "notices"
                    }
                  }
                }
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "VendorRelationshipsAccessResponse": {
        "type": "object",
        "required": [
          "ok",
          "trace_id",
          "data"
        ],
        "properties": {
          "ok": {
            "const": true
          },
          "trace_id": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "platform_release_id",
              "results",
              "total",
              "offset",
              "limit",
              "next_offset",
              "updated_at",
              "ranking_period",
              "credit_unions",
              "statuses",
              "categories",
              "vendors",
              "coverage_note"
            ],
            "properties": {
              "platform_release_id": {
                "type": "string"
              },
              "results": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "id",
                    "charter",
                    "vendorId",
                    "product",
                    "category",
                    "status",
                    "sources"
                  ],
                  "properties": {
                    "id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "charter": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "creditUnion": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "vendorId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "vendor": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "product": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "category": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "statusLabel": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "summary": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "statusAsOf": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "reviewedAt": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "evidenceDate": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "status": {
                      "enum": [
                        "reported_live",
                        "selected",
                        "customer_reference",
                        "former",
                        "historical",
                        "inferred"
                      ]
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "title": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "publishedDate": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "sourcePeriod": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "kind": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "foundAt": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "reviewedAt": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "technicalEvidence": {
                      "$ref": "#/components/schemas/VendorTechnicalEvidence"
                    }
                  },
                  "additionalProperties": false,
                  "allOf": [
                    {
                      "if": {
                        "properties": {
                          "status": {
                            "const": "inferred"
                          }
                        },
                        "required": [
                          "status"
                        ]
                      },
                      "then": {
                        "required": [
                          "technicalEvidence"
                        ]
                      }
                    },
                    {
                      "if": {
                        "properties": {
                          "status": {
                            "const": "inferred"
                          },
                          "category": {
                            "const": "Core"
                          }
                        },
                        "required": [
                          "status",
                          "category"
                        ]
                      },
                      "then": {
                        "properties": {
                          "technicalEvidence": {
                            "required": [
                              "servicingProviderConfirmed"
                            ]
                          }
                        }
                      }
                    }
                  ]
                }
              },
              "total": {
                "type": "integer"
              },
              "offset": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "next_offset": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "updated_at": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "ranking_period": {
                "type": [
                  "string",
                  "null"
                ],
                "pattern": "^\\d{4}-Q[1-4]$"
              },
              "credit_unions": {
                "type": "integer",
                "minimum": 0
              },
              "statuses": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                }
              },
              "categories": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "vendors": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "id",
                    "name",
                    "directoryNames"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "directoryNames": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "additionalProperties": false
                }
              },
              "coverage_note": {
                "type": "string"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "FinancialRelease": {
        "type": "object",
        "required": [
          "id",
          "period"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "period": {
            "type": "string",
            "pattern": "^\\d{4}-Q[1-4]$"
          },
          "metric_version": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "manifest_sha256": {
            "type": "string"
          },
          "implementation_sha256": {
            "type": "string"
          },
          "component_releases": {
            "type": "object",
            "additionalProperties": true
          },
          "metric_definitions": {
            "$ref": "#/components/schemas/MetricDefinitions"
          },
          "coverage": {
            "type": "object",
            "additionalProperties": true
          },
          "validation": {
            "type": "object",
            "additionalProperties": true
          },
          "source_releases": {
            "type": "object",
            "additionalProperties": true
          },
          "verified_fields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "history_scope": {
            "type": "string"
          },
          "limitation": {
            "type": "string"
          },
          "source_sha256": {
            "type": "string"
          },
          "source_url": {
            "type": "string"
          },
          "archive_url": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "ApiError": {
        "type": "object",
        "required": [
          "ok",
          "error"
        ],
        "properties": {
          "ok": {
            "const": false
          },
          "error": {
            "type": "string"
          },
          "trace_id": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "release_id": {
            "type": "string"
          },
          "platform_release_id": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "InstitutionIdentity": {
        "type": "object",
        "required": [
          "charter",
          "name",
          "period",
          "source"
        ],
        "properties": {
          "charter": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "charter_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "asset_tier": {
            "type": [
              "string",
              "null"
            ]
          },
          "asset_tier_label": {
            "type": [
              "string",
              "null"
            ]
          },
          "website": {
            "type": [
              "string",
              "null"
            ]
          },
          "health": {
            "type": [
              "string",
              "null"
            ]
          },
          "field_of_membership": {
            "type": [
              "string",
              "null"
            ]
          },
          "data_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "profile_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "app_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "health_method": {
            "type": [
              "string",
              "null"
            ]
          },
          "period": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^\\d{4}-Q[1-4]$"
          },
          "health_period": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^\\d{4}-Q[1-4]$"
          },
          "as_of_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "source": {
            "type": "string"
          },
          "current": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "MetricAvailability": {
        "type": "object",
        "required": [],
        "properties": {
          "unavailable_metrics": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "prior_dec": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "SummaryData": {
        "type": "object",
        "required": [
          "period",
          "release",
          "source",
          "total_credit_unions",
          "current_filing_credit_unions",
          "financial_totals_scope"
        ],
        "properties": {
          "period": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^\\d{4}-Q[1-4]$"
          },
          "release": {
            "$ref": "#/components/schemas/FinancialRelease"
          },
          "as_of_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "source": {
            "type": "string"
          },
          "total_credit_unions": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          },
          "current_filing_credit_unions": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          },
          "last_known_credit_unions": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          },
          "total_members": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          },
          "last_known_members": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          },
          "total_assets_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "total_loans_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "total_shares_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "last_known_assets_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "last_known_loans_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "last_known_shares_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "financial_totals_scope": {
            "type": "string"
          },
          "coverage": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "additionalProperties": false
      },
      "RatioBenchmark": {
        "type": "object",
        "required": [
          "key",
          "label",
          "category",
          "source_key",
          "value",
          "percentile"
        ],
        "properties": {
          "key": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "source_key": {
            "type": "string"
          },
          "value": {
            "type": [
              "number",
              "null"
            ]
          },
          "percentile": {
            "type": [
              "number",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "ProfileHistoryRow": {
        "type": "object",
        "required": [
          "period",
          "assets_usd",
          "total_loans_usd",
          "total_shares_usd",
          "net_worth_ratio_pct",
          "return_on_assets_pct",
          "delinquency_ratio_pct",
          "net_charge_off_ratio_pct",
          "loan_to_share_ratio_pct",
          "members"
        ],
        "properties": {
          "period": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^\\d{4}-Q[1-4]$"
          },
          "assets_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "total_loans_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "total_shares_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "net_worth_ratio_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "return_on_assets_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "delinquency_ratio_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "net_charge_off_ratio_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "loan_to_share_ratio_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "members": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          }
        },
        "additionalProperties": false
      },
      "Capitalization": {
        "type": "object",
        "required": [],
        "properties": {
          "classification": {
            "type": [
              "string",
              "null"
            ]
          },
          "standard_classification": {
            "type": [
              "string",
              "null"
            ]
          },
          "new_credit_union_classification": {
            "type": [
              "string",
              "null"
            ]
          },
          "classification_rule": {
            "type": [
              "string",
              "null"
            ]
          },
          "classification_basis": {
            "type": [
              "string",
              "null"
            ]
          },
          "net_worth_ratio_call_report_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "risk_based_capital_ratio_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "uninsured_secondary_capital_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "subordinated_debt_included_in_net_worth_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "subordinated_debt_total_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "subordinated_debt_less_than_one_year_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "subordinated_debt_one_to_three_years_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "subordinated_debt_greater_than_three_years_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "rbc_subordinated_debt_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "cculr_elected": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "source_accounts": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": true
          },
          "classification_source_account": {
            "type": [
              "string",
              "null"
            ]
          },
          "classification_is_regulatory_determination": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "FinancialInstitutionData": {
        "type": "object",
        "required": [
          "institution",
          "balances",
          "performance",
          "ratios",
          "capitalization",
          "ratio_benchmarks",
          "branches",
          "history",
          "metric_definitions",
          "release"
        ],
        "properties": {
          "institution": {
            "$ref": "#/components/schemas/InstitutionIdentity"
          },
          "balances": {
            "type": "object",
            "required": [
              "assets_usd",
              "total_loans_usd",
              "total_shares_usd",
              "net_worth_usd",
              "real_estate_loans_usd",
              "auto_loans_usd",
              "credit_card_loans_usd",
              "commercial_loans_usd",
              "member_business_loans_usd",
              "allowance_for_loan_losses_usd",
              "certificates_usd",
              "money_market_shares_usd",
              "regular_shares_usd",
              "share_drafts_usd"
            ],
            "properties": {
              "assets_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "total_loans_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "total_shares_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "net_worth_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "real_estate_loans_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "auto_loans_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "credit_card_loans_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "commercial_loans_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "member_business_loans_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "allowance_for_loan_losses_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "certificates_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "money_market_shares_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "regular_shares_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "share_drafts_usd": {
                "type": [
                  "number",
                  "null"
                ]
              }
            },
            "additionalProperties": false
          },
          "performance": {
            "type": "object",
            "required": [
              "net_income_usd",
              "interest_income_usd",
              "interest_expense_usd",
              "net_interest_income_usd",
              "fee_income_usd",
              "noninterest_income_usd",
              "noninterest_expense_usd",
              "provision_for_loan_losses_usd",
              "operating_expense_usd"
            ],
            "properties": {
              "net_income_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "interest_income_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "interest_expense_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "net_interest_income_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "fee_income_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "noninterest_income_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "noninterest_expense_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "provision_for_loan_losses_usd": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "operating_expense_usd": {
                "type": [
                  "number",
                  "null"
                ]
              }
            },
            "additionalProperties": false
          },
          "ratios": {
            "type": "object",
            "required": [
              "net_worth_ratio_pct",
              "return_on_assets_pct",
              "delinquency_ratio_pct",
              "net_charge_off_ratio_pct",
              "loan_to_share_ratio_pct",
              "net_interest_margin_pct",
              "cost_of_funds_pct",
              "fee_income_ratio_pct",
              "efficiency_ratio_pct"
            ],
            "properties": {
              "net_worth_ratio_pct": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "return_on_assets_pct": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "delinquency_ratio_pct": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "net_charge_off_ratio_pct": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "loan_to_share_ratio_pct": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "net_interest_margin_pct": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "cost_of_funds_pct": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "fee_income_ratio_pct": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "efficiency_ratio_pct": {
                "type": [
                  "number",
                  "null"
                ]
              }
            },
            "additionalProperties": false
          },
          "capitalization": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Capitalization"
              },
              {
                "type": "null"
              }
            ]
          },
          "ratio_benchmarks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RatioBenchmark"
            }
          },
          "branches": {
            "type": "object",
            "required": [
              "count",
              "states"
            ],
            "properties": {
              "count": {
                "type": [
                  "integer",
                  "null"
                ],
                "minimum": 0
              },
              "states": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          },
          "history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProfileHistoryRow"
            }
          },
          "metric_definitions": {
            "$ref": "#/components/schemas/MetricDefinitions"
          },
          "release": {
            "$ref": "#/components/schemas/FinancialRelease"
          },
          "provenance": {
            "type": "object",
            "additionalProperties": true
          },
          "coverage": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "additionalProperties": false
      },
      "ReportedInstitutionData": {
        "type": "object",
        "required": [
          "view",
          "charter",
          "release",
          "records"
        ],
        "properties": {
          "view": {
            "const": "reported"
          },
          "charter": {
            "type": "string"
          },
          "release": {
            "$ref": "#/components/schemas/FinancialRelease"
          },
          "records": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "source_file",
                "source_table",
                "source_file_sha256",
                "record_sha256",
                "row_number",
                "fields"
              ],
              "properties": {
                "source_file": {
                  "type": "string"
                },
                "source_table": {
                  "type": "string"
                },
                "source_file_sha256": {
                  "type": "string"
                },
                "record_sha256": {
                  "type": "string"
                },
                "row_number": {
                  "type": "integer",
                  "minimum": 1
                },
                "fields": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        },
        "additionalProperties": false
      },
      "PeerIdentity": {
        "type": "object",
        "required": [
          "charter",
          "name",
          "state",
          "asset_tier",
          "period",
          "current"
        ],
        "properties": {
          "charter": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "asset_tier": {
            "type": [
              "string",
              "null"
            ]
          },
          "period": {
            "type": "string",
            "pattern": "^\\d{4}-Q[1-4]$"
          },
          "current": {
            "type": "boolean"
          },
          "net_worth_ratio_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "delinquency_ratio_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "return_on_assets_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "loan_to_share_ratio_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "net_charge_off_ratio_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "assets_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "memberships": {
            "type": [
              "number",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "PeerMetric": {
        "type": "object",
        "required": [
          "label",
          "targetValue",
          "mean",
          "median",
          "p25",
          "p75",
          "min",
          "max",
          "percentileRank",
          "betterDirection",
          "availableCount"
        ],
        "properties": {
          "label": {
            "type": "string"
          },
          "targetValue": {
            "type": [
              "number",
              "null"
            ]
          },
          "mean": {
            "type": [
              "number",
              "null"
            ]
          },
          "median": {
            "type": [
              "number",
              "null"
            ]
          },
          "p25": {
            "type": [
              "number",
              "null"
            ]
          },
          "p75": {
            "type": [
              "number",
              "null"
            ]
          },
          "min": {
            "type": [
              "number",
              "null"
            ]
          },
          "max": {
            "type": [
              "number",
              "null"
            ]
          },
          "percentileRank": {
            "type": [
              "number",
              "null"
            ]
          },
          "betterDirection": {
            "enum": [
              "higher",
              "lower"
            ]
          },
          "availableCount": {
            "type": "integer",
            "minimum": 0
          },
          "staleCount": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of the availableCount values that come from a retained peer's latest filing rather than the release period."
          }
        },
        "additionalProperties": false
      },
      "MergerInstitution": {
        "type": "object",
        "required": [
          "charter",
          "name",
          "state"
        ],
        "properties": {
          "charter": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "assets_usd": {
            "type": [
              "number",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "FeedFinancialRelease": {
        "type": "object",
        "description": "Application release reference attached to a feed package. Its period is the enclosing manifest period.",
        "required": [
          "id",
          "metric_version",
          "history_scope",
          "limitation"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "metric_version": {
            "type": "string"
          },
          "history_scope": {
            "type": "string"
          },
          "limitation": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "MergerObservation": {
        "type": "object",
        "description": "Native MAIR workbook observation. Repeated observations for a charter pair remain separate, including differences in fields of membership.",
        "required": [
          "period",
          "region",
          "continuing_charter",
          "continuing_name",
          "continuing_location",
          "continuing_assets",
          "merging_charter",
          "merging_name",
          "merging_location",
          "merging_assets",
          "reason",
          "continuing_fom",
          "merging_fom",
          "source_url",
          "source_sha256",
          "source_workbook",
          "source_sheet",
          "source_row"
        ],
        "properties": {
          "period": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}$"
          },
          "region": {
            "type": "string"
          },
          "continuing_charter": {
            "type": "string"
          },
          "continuing_name": {
            "type": "string"
          },
          "continuing_location": {
            "type": "string"
          },
          "merging_charter": {
            "type": "string"
          },
          "merging_name": {
            "type": "string"
          },
          "merging_location": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "continuing_fom": {
            "type": "string"
          },
          "merging_fom": {
            "type": "string"
          },
          "continuing_assets": {
            "type": [
              "number",
              "null"
            ]
          },
          "merging_assets": {
            "type": [
              "number",
              "null"
            ]
          },
          "source_url": {
            "type": "string",
            "format": "uri"
          },
          "source_sha256": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "source_workbook": {
            "type": "string"
          },
          "source_sheet": {
            "type": "string"
          },
          "source_row": {
            "type": "integer",
            "minimum": 1
          }
        },
        "additionalProperties": false
      },
      "MetricDefinition": {
        "type": "object",
        "description": "Source accounts, units and calculation details. Metadata can gain explanatory fields without changing the financial value contract.",
        "properties": {
          "metric": {
            "type": [
              "string",
              "null"
            ]
          },
          "account": {
            "type": "string"
          },
          "accounts": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "source_accounts": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "formula": {
            "type": [
              "string",
              "null"
            ]
          },
          "meaning": {
            "type": "string"
          },
          "unit": {
            "type": "string"
          },
          "period_basis": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "aggregation": {
            "type": "string"
          },
          "delivered_decimal_places": {
            "type": "integer",
            "minimum": 0
          }
        },
        "additionalProperties": true
      },
      "MetricDefinitions": {
        "type": "object",
        "additionalProperties": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "$ref": "#/components/schemas/MetricDefinition"
            }
          ]
        }
      },
      "HistoryMetricDefinitions": {
        "type": "object",
        "required": [
          "a",
          "l",
          "s",
          "m",
          "nw",
          "nwr",
          "roa",
          "dq",
          "co",
          "lts",
          "rounding",
          "population",
          "identity",
          "unavailable"
        ],
        "properties": {
          "a": {
            "$ref": "#/components/schemas/MetricDefinition"
          },
          "l": {
            "$ref": "#/components/schemas/MetricDefinition"
          },
          "s": {
            "$ref": "#/components/schemas/MetricDefinition"
          },
          "m": {
            "$ref": "#/components/schemas/MetricDefinition"
          },
          "nw": {
            "$ref": "#/components/schemas/MetricDefinition"
          },
          "nwr": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MetricDefinition"
              },
              {
                "required": [
                  "delivered_decimal_places"
                ]
              }
            ]
          },
          "roa": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MetricDefinition"
              },
              {
                "required": [
                  "delivered_decimal_places"
                ]
              }
            ]
          },
          "dq": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MetricDefinition"
              },
              {
                "required": [
                  "delivered_decimal_places"
                ]
              }
            ]
          },
          "co": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MetricDefinition"
              },
              {
                "required": [
                  "delivered_decimal_places"
                ]
              }
            ]
          },
          "lts": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MetricDefinition"
              },
              {
                "required": [
                  "delivered_decimal_places"
                ]
              }
            ]
          },
          "rounding": {
            "type": "string"
          },
          "population": {
            "type": "string"
          },
          "identity": {
            "type": "string"
          },
          "unavailable": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "VendorTechnicalEvidence": {
        "type": "object",
        "description": "Reviewed public website fingerprint evidence. This supports inference about a provider or platform family, not a verified contract or servicing provider.",
        "required": [
          "method",
          "ruleId",
          "observedAt",
          "sourceUrl",
          "sourceSha256",
          "matchedUrls",
          "referenceUrls"
        ],
        "properties": {
          "method": {
            "type": "string",
            "enum": [
              "provider_endpoint",
              "shared_frontend",
              "platform_family"
            ]
          },
          "ruleId": {
            "type": "string",
            "minLength": 1,
            "description": "Identifier of the reviewed fingerprint rule."
          },
          "observedAt": {
            "type": "string",
            "format": "date",
            "description": "Date the source page was observed, distinct from publication and review dates."
          },
          "sourceUrl": {
            "type": "string",
            "format": "uri",
            "pattern": "^https://"
          },
          "sourceSha256": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$",
            "description": "SHA-256 of the observed source page."
          },
          "matchedUrls": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string",
              "format": "uri",
              "pattern": "^https://"
            },
            "description": "Public service or asset URLs that matched the reviewed rule."
          },
          "referenceUrls": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri",
              "pattern": "^https://"
            },
            "description": "Public provider references used to establish the fingerprint rule."
          },
          "servicingProviderConfirmed": {
            "const": false,
            "description": "Present and false for inferred core-platform records: the platform family is identified, but its servicing provider is not confirmed."
          }
        },
        "additionalProperties": false
      }
    }
  }
}
