Credit Benchmark metadata API

Metadata discovery endpoints.

OpenAPI Specification

credit-benchmark-metadata-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Credit Benchmark analytics metadata API
  description: 'Authentication, entity resolution, data, analytics, and metadata endpoints.

    '
  version: 1.0.0
  contact:
    name: Credit Benchmark API Support
    email: api-support@creditbenchmark.com
    url: https://creditbenchmark.com/support
  license:
    name: Proprietary
    url: https://creditbenchmark.com/terms
servers:
- url: https://gateway.creditbenchmark.com
  description: Production gateway
security:
- BearerAuth: []
tags:
- name: metadata
  description: Metadata discovery endpoints.
  x-group: Metadata
paths:
  /analytics/v2/metadata/columns:
    get:
      tags:
      - metadata
      summary: Available Data Columns
      description: Returns a flat catalog of public input columns with metadata such as type, scopeable, facetable, and entitlement. This endpoint describes request-side input columns only; it does not describe route response fields or result_filter fields.
      operationId: metadata_columns_v2_metadata_columns_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataColumnsResponse'
              example:
                CB_ID:
                  type: String
                  scopeable: false
                  facetable: false
                  entitlement: null
                CB_Country:
                  type: String
                  scopeable: true
                  facetable: true
                  entitlement: null
                CB_CCR_100_PDMid:
                  type: Float64
                  scopeable: true
                  facetable: false
                  entitlement: null
                SP_ForeignCurrencyLongTerm:
                  type: String
                  scopeable: true
                  facetable: true
                  entitlement: SP
                Client_Rating_Client_Scale:
                  type: String
                  scopeable: true
                  facetable: true
                  entitlement: CLIENT_DATA
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /analytics/v2/metadata/rating-scales:
    get:
      tags:
      - metadata
      summary: Rating Scales
      description: Returns CB rating scale metadata, including CB21 and CB7 ordering and band mappings.
      operationId: metadata_rating_scales_v2_metadata_rating_scales_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RatingScalesMetadataResponse'
              example:
                default_scale: CB21
                supported_scales:
                - CB21
                - CB7
                - CLIENT
                scales:
                  CB21:
                    ratings:
                    - CB_CCR_21_Notch: 1
                      CB_CCR: aaa
                      CB_PD_Lower_Bound: 0.0
                      CB_PD_Mid_Point: 7.9057e-05
                      CB_PD_Upper_Bound: 0.000125
                      CB_IG_HY: IG
                    - CB_CCR_21_Notch: 2
                      CB_CCR: aa+
                      CB_PD_Lower_Bound: 0.000125001
                      CB_PD_Mid_Point: 0.000167705
                      CB_PD_Upper_Bound: 0.000225
                      CB_IG_HY: IG
                  CB7:
                    ratings:
                    - CB_Rating_Group_Notch: 1
                      CB_Rating_Group: aaa
                    - CB_Rating_Group_Notch: 2
                      CB_Rating_Group: aa
                  CLIENT:
                    description: Client-specific scales are selected per entitled client request.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /analytics/v2/metadata/industry-schema:
    get:
      tags:
      - metadata
      summary: Industry Schema
      description: Returns the CB industry hierarchy as L1 through L6 rows for scope filters, facets, and hierarchy-aware analytics.
      operationId: metadata_industry_schema_v2_metadata_industry_schema_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndustrySchemaMetadataResponse'
              example:
                industry:
                  levels:
                    CB_Industry: L1
                    CB_Super_Sector: L2
                    CB_Sector: L3
                    CB_Sub_Sector: L4
                  tree:
                    Financials:
                      Banks:
                        Banks:
                        - Banks
                      Financial Services:
                        Financial Services:
                        - Asset Managers
                        - Consumer Finance
                entity_types:
                  levels:
                    CB_Entity_Type: L1
                    CB_Entity_Sub_Type: L2
                  tree:
                    Corporates:
                    - Corporates
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /analytics/v2/metadata/geography-schema:
    get:
      tags:
      - metadata
      summary: Geography Schema
      description: Returns the CB geography hierarchy as region group, region, and country of risk levels.
      operationId: metadata_geography_schema_v2_metadata_geography_schema_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeographySchemaMetadataResponse'
              example:
                levels:
                  CB_Region_Group: L1
                  CB_Region: L2
                  CB_Country: L3
                tree:
                  Developed Markets:
                    North America:
                      Canada: CA
                      United States: US
                    Europe:
                      France: FR
                      United Kingdom: GB
                code: CB_Country_ISO
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /analytics/v2/metadata/available-dates:
    get:
      tags:
      - metadata
      summary: Available Dates
      description: Returns latest and previous available effective dates for analytics requests.
      operationId: metadata_available_dates_v2_metadata_available_dates_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AvailableDatesMetadataResponse'
              example:
                latest_effective_date: 20260529
                latest_finalised_effective_date: 20260529
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  responses:
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SimpleError'
          example:
            error: Client-backed analytics inputs require contributor entitlement.
    TooManyRequests:
      description: Too many requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RateLimitError'
          example:
            error: Rate limit exceeded
            detail: 60 per 1 minute
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UnauthorizedError'
          example:
            detail: Unauthorized request
    InternalServerError:
      description: Server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SimpleError'
          example:
            error: An error occurred while processing your request. Please try again later.
  schemas:
    AvailableDatesMetadataResponse:
      type: object
      description: Latest available effective dates for analytics requests.
      required:
      - latest_effective_date
      - latest_finalised_effective_date
      properties:
        latest_effective_date:
          type: integer
          description: Latest available effective date in YYYYMMDD format.
          example: 20260529
        latest_finalised_effective_date:
          type: integer
          description: Latest finalised effective date in YYYYMMDD format.
          example: 20260529
    GeographySchemaMetadataResponse:
      type: object
      description: Geography hierarchy metadata.
      required:
      - levels
      - tree
      - code
      properties:
        levels:
          type: object
          additionalProperties:
            type: string
          description: Geography field names mapped to hierarchy levels.
          example:
            CB_Region_Group: L1
            CB_Region: L2
            CB_Country: L3
        tree:
          type: object
          additionalProperties: true
          description: Nested region group, region, and country tree.
        code:
          type: string
          description: Field containing the country code.
          example: CB_Country_ISO
    DataColumnMetadata:
      type: object
      additionalProperties: false
      required:
      - type
      - scopeable
      - facetable
      - entitlement
      properties:
        type:
          type: string
          description: Column type.
        scopeable:
          type: boolean
          description: Whether the column can be used in `scope.filters`.
        facetable:
          type: boolean
          description: Whether the column can be used as a facet column.
        entitlement:
          type:
          - string
          - 'null'
          enum:
          - SP
          - FITCH
          - CLIENT_DATA
          - null
          description: Required entitlement, if any.
    HierarchyMetadata:
      type: object
      description: Hierarchy metadata with level labels and a nested tree.
      required:
      - levels
      - tree
      properties:
        levels:
          type: object
          additionalProperties:
            type: string
          description: Field names mapped to hierarchy levels.
        tree:
          type: object
          additionalProperties: true
          description: Nested hierarchy tree.
    DataColumnsResponse:
      type: object
      description: Public input column catalog.
      additionalProperties:
        $ref: '#/components/schemas/DataColumnMetadata'
    RateLimitError:
      type: object
      required:
      - error
      - detail
      properties:
        error:
          type: string
        detail:
          type: string
    IndustrySchemaMetadataResponse:
      type: object
      description: Industry and entity-type hierarchy metadata.
      required:
      - industry
      - entity_types
      properties:
        industry:
          $ref: '#/components/schemas/HierarchyMetadata'
        entity_types:
          $ref: '#/components/schemas/HierarchyMetadata'
    SimpleError:
      type: object
      required:
      - error
      properties:
        error:
          type: string
    RatingScalesMetadataResponse:
      type: object
      description: CB rating scale metadata.
      required:
      - default_scale
      - supported_scales
      - scales
      properties:
        default_scale:
          type: string
          example: CB21
        supported_scales:
          type: array
          items:
            type: string
          example:
          - CB21
          - CB7
          - CLIENT
        scales:
          type: object
          additionalProperties:
            type: object
            additionalProperties: true
          description: Scale definitions keyed by scale name. `CB21` and `CB7` include ordered rating rows; `CLIENT` describes client-specific scale behavior.
    UnauthorizedError:
      type: object
      required:
      - detail
      properties:
        detail:
          type: string
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT bearer token.