Credit Benchmark metadata API
Metadata discovery endpoints.
Metadata discovery endpoints.
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.