openapi: 3.1.0
info:
title: Credit Benchmark API
description: |
Authentication, matching, and analytics.
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
paths:
/gartan/api/token:
post:
tags:
- Authentication
summary: Create JWT Token
description: |
Create a JWT bearer token.
operationId: getToken
security: []
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- Username
- Password
- grant_type
properties:
Username:
type: string
description: Your Credit Benchmark username
example: your_username
Password:
type: string
format: password
description: Your Credit Benchmark password
example: your_password
grant_type:
type: string
enum:
- password
description: Grant type for authentication
example: password
encoding:
Username:
style: form
Password:
style: form
grant_type:
style: form
responses:
'200':
description: JWT token generated successfully
content:
application/json:
schema:
type: object
properties:
access_token:
type: string
description: JWT access token valid for 24 hours
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
token_type:
type: string
description: Token type (always "Bearer")
example: Bearer
expires_in:
type: integer
description: Token expiration time in seconds (86400 = 24 hours)
example: 86400
example:
access_token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
token_type: Bearer
expires_in: 86400
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/analytics/custom-aggregate:
post:
tags:
- Analytics
summary: Custom Aggregate
description: |
Return aggregate trend metrics.
operationId: customAggregate
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RequestEnvelope_CustomAggregateRequest'
example:
Parameters:
portfolio:
name: Example Portfolio
entities:
CBId:
- CB000000123
- CB000000456
CustomField1:
- Value1
- Value2
- Value3
EffectiveDateId: 20241201
facet_column: Sector
effectivedateid_min_lag_months: 24
use_client_scale: false
responses:
'200':
description: Custom aggregate calculation successful
content:
application/json:
schema:
$ref: '#/components/schemas/CustomAggregateResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/ValidationError'
'500':
$ref: '#/components/responses/InternalServerError'
/api/analytics/entity-rating-change:
post:
tags:
- Entity Data
summary: Entity Rating Change
description: |
Return entity rating changes.
operationId: entityRatingChange
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RequestEnvelope_EntityRatingChangeRequest'
example:
Parameters:
portfolio:
name: Example Portfolio
entities:
CBId:
- CB000000123
- CB000000456
CustomField1:
- Value1
- Value2
- Value3
EffectiveDateId: 20241201
rating_change_months: 6
use_oci: false
use_client_scale: false
descriptor_columns:
- Sector
responses:
'200':
description: Entity rating changes retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/EntityRatingChangeResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/ValidationError'
'500':
$ref: '#/components/responses/InternalServerError'
/api/analytics/portfolio-data:
post:
tags:
- Portfolio Analytics
summary: Portfolio Data
description: |
Return portfolio time-series data.
operationId: portfolioData
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RequestEnvelope_PortfolioDataRequest'
example:
Parameters:
portfolio:
name: Example Portfolio
entities:
CBId:
- CB000000123
- CB000000456
CustomField1:
- Value1
- Value2
- Value3
CustomField2:
- 100
- 200
- 300
EffectiveDateId: 20241201
effectivedateid_min: 20240101
effectivedateid_min_lag_months: 0
columns:
- CBEntityId
- CBId
- CBEntityName
- EffectiveDateId
- CCR
- CCR21Notch
- CCR100PDMid
- CustomField1
- CustomField2
responses:
'200':
description: Portfolio data retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/PortfolioDataResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/ValidationError'
'500':
$ref: '#/components/responses/InternalServerError'
/api/analytics/portfolio-summary:
post:
tags:
- Portfolio Analytics
summary: Portfolio Summary
description: |
Return grouped portfolio metrics.
operationId: portfolioSummary
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RequestEnvelope_PortfolioSummaryRequest'
example:
Parameters:
portfolio:
name: Example Portfolio
entities:
CBId:
- CB000000123
- CB000000456
facet_column: Sector
EffectiveDateId: 20241201
rating_change_months: 24
use_client_scale: false
use_oci: false
responses:
'200':
description: Portfolio summary retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/PortfolioSummaryResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/ValidationError'
'500':
$ref: '#/components/responses/InternalServerError'
/api/analytics/rating-distribution:
post:
tags:
- Analytics
summary: Rating Distribution
description: |
Return rating distribution data.
operationId: ratingDistribution
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RequestEnvelope_RatingDistributionRequest'
example:
Parameters:
portfolio:
name: Example Portfolio
entities:
CBId:
- CB000000123
- CB000000456
EffectiveDateId: 20241201
effectivedateid_min: 20240101
effectivedateid_min_lag_months: 0
use_client_scale: false
use_cb7_scale: false
facet_column: Sector
responses:
'200':
description: Rating distribution retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/RatingDistributionResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/ValidationError'
'500':
$ref: '#/components/responses/InternalServerError'
/api/analytics/contributor/custom-aggregate:
post:
tags:
- Contributor Data
summary: Client Data Custom Aggregate
description: |
Return client aggregate trend metrics.
operationId: clientDataCustomAggregate
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RequestEnvelope_ClientDataAggregateRequest'
example:
Parameters:
portfolio:
name: Example Portfolio
entities:
CBId:
- CB000000123
- CB000000456
EffectiveDateId: 20241201
facet_column: Sector
effectivedateid_min_lag_months: 24
use_client_scale: false
responses:
'200':
description: Client data aggregate calculation successful
content:
application/json:
schema:
$ref: '#/components/schemas/ClientDataAggregateResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
description: Forbidden - requires ent_CLIENT-DATA entitlement
'422':
$ref: '#/components/responses/ValidationError'
'500':
$ref: '#/components/responses/InternalServerError'
/api/analytics/contributor/rating-distribution:
post:
tags:
- Contributor Data
summary: Client Data Rating Distribution
description: |
Return client rating distribution data.
operationId: clientDataRatingDistribution
requestBody:
required: true
content:
application/json:
schema:
$ref: >-
#/components/schemas/RequestEnvelope_ClientDataDistributionRequest
example:
Parameters:
portfolio:
name: Example Portfolio
entities:
CBId:
- CB000000123
- CB000000456
EffectiveDateId: 20241201
effectivedateid_min: 20240101
effectivedateid_min_lag_months: 0
use_client_scale: false
use_cb7_scale: false
facet_column: Sector
responses:
'200':
description: Client data rating distribution retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/RatingDistributionResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
description: Forbidden - requires ent_CLIENT-DATA entitlement
'422':
$ref: '#/components/responses/ValidationError'
'500':
$ref: '#/components/responses/InternalServerError'
/api/analytics/contributor/portfolio-summary:
post:
tags:
- Contributor Data
summary: Client Data Portfolio Summary
description: |
Return grouped client portfolio metrics.
operationId: clientDataPortfolioSummary
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RequestEnvelope_ClientDataSummaryRequest'
example:
Parameters:
portfolio:
name: Example Portfolio
entities:
CBId:
- CB000000123
- CB000000456
facet_column: Sector
EffectiveDateId: 20241201
rating_change_months: 24
use_client_scale: false
use_oci: false
responses:
'200':
description: Client data portfolio summary retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ClientDataSummaryResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
description: Forbidden - requires ent_CLIENT-DATA entitlement
'422':
$ref: '#/components/responses/ValidationError'
'500':
$ref: '#/components/responses/InternalServerError'
/api/analytics/contributor/entity-rating-change:
post:
tags:
- Contributor Data
summary: Client Data Entity Rating Change
description: |
Return client entity rating changes.
operationId: clientDataEntityRatingChange
requestBody:
required: true
content:
application/json:
schema:
$ref: >-
#/components/schemas/RequestEnvelope_ClientDataEntityRatingChangeRequest
example:
Parameters:
portfolio:
name: Example Portfolio
entities:
CBId:
- CB000000123
- CB000000456
EffectiveDateId: 20241201
rating_change_months: 6
use_oci: false
use_client_scale: false
descriptor_columns:
- Sector
responses:
'200':
description: Client data entity rating changes retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ClientDataEntityRatingChangeResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
description: Forbidden - requires ent_CLIENT-DATA entitlement
'422':
$ref: '#/components/responses/ValidationError'
'500':
$ref: '#/components/responses/InternalServerError'
/matching/match:
post:
tags:
- Entity Matching
summary: Entity Name Matching
description: |
Return ranked entity matches.
operationId: matchEntities
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MatchBody'
example:
queries:
- text: JPMorgan Chase & Co.
industry: Financials
country_name: United States
- text: Apple Inc.
lei: 5493000X0X4X4X4X4X4X
responses:
'200':
description: Entity matching completed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/MatchExternalResponse'
example:
results:
- entity: JPMorgan Chase
candidates:
- rank: 1
CBId: CB0000022706
CBEntityName: JPMORGAN CHASE & CO
CBCountryOfRiskISO: US
isConsensus1M: true
confidence: 0.82
- rank: 2
CBId: CB0000118034
CBEntityName: JJPMORGAN CHASE BANK NA
CBCountryOfRiskISO: US
isConsensus1M: true
confidence: 0.09
- entity: Apple Inc.
candidates:
- rank: 1
CBId: CB0000000456
CBEntityName: APPLE INC
CBCountryOfRiskISO: US
isConsensus1M: true
confidence: 0.97
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/ValidationError'
'500':
$ref: '#/components/responses/InternalServerError'
components:
schemas:
Body_execute_Report_Async_reportsasync__report__post:
properties:
params:
additionalProperties: true
type: object
title: Params
type: object
required:
- params
title: Body_execute_Report_Async_reportsasync__report__post
Body_execute_Report_reports__report__post:
properties:
params:
additionalProperties: true
type: object
title: Params
type: object
required:
- params
title: Body_execute_Report_reports__report__post
Body_generate_pit_aggregates_pit_aggregates_post:
properties:
parameters:
additionalProperties: true
type: object
title: Parameters
filters:
items: {}
type: array
title: Filters
type: object
required:
- parameters
- filters
title: Body_generate_pit_aggregates_pit_aggregates_post
Body_publish_report_publish__report___fileName__post:
properties:
parameters:
additionalProperties: true
type: object
title: Parameters
type: object
required:
- parameters
title: Body_publish_report_publish__report___fileName__post
CRARatingDisplayOption:
type: string
enum:
- none
- sp
- fitch
- all
title: CRARatingDisplayOption
CoverageCheckRequest:
properties:
accountName:
type: string
title: Accountname
default: ''
portfolio:
$ref: '#/components/schemas/Portfolio'
single_page_only:
type: boolean
title: Single Page Only
default: false
show_appendix:
type: boolean
title: Show Appendix
default: true
output_types:
items:
$ref: '#/components/schemas/OutputType'
type: array
title: Output Types
default:
- pdf
EffectiveDateId:
type: integer
title: Effectivedateid
effectivedateid_min_lag_months:
type: integer
title: Effectivedateid Min Lag Months
default: 24
latest_finalised_only:
type: boolean
title: Latest Finalised Only
default: true
facet_column_list:
items:
type: string
type: array
title: Facet Column List
default:
- CBEntityType
- CBIndustry
- CBRegion
- CBCountryOfRisk
rating_change_months:
type: integer
title: Rating Change Months
default: 12
cra_rating_display_option:
$ref: '#/components/schemas/CRARatingDisplayOption'
default: none
type: object
required:
- portfolio
title: CoverageCheckRequest
CustomAggregateRequest:
properties:
portfolio:
$ref: '#/components/schemas/Portfolio'
EffectiveDateId:
type: integer
title: Effectivedateid
effectivedateid_min_lag_months:
type: integer
title: Effectivedateid Min Lag Months
default: 24
use_client_scale:
type: boolean
title: Use Client Scale
default: false
facet_column:
type: string
title: Facet Column
description: Optional column to group by (e.g., Sector, Industry)
type: object
required:
- portfolio
title: CustomAggregateRequest
EntityRatingChangeRequest:
properties:
portfolio:
$ref: '#/components/schemas/Portfolio'
EffectiveDateId:
type: integer
title: Effectivedateid
rating_change_months:
type: integer
title: Rating Change Months
default: 6
use_oci:
type: boolean
title: Use Oci
default: false
use_client_scale:
type: boolean
title: Use Client Scale
default: false
descriptor_columns:
items:
type: string
type: array
title: Descriptor Columns
filters:
$ref: '#/components/schemas/RatingChangeFilters'
type: object
required:
- portfolio
title: EntityRatingChangeRequest
FlexibleCBPortfolio:
properties:
CBId:
items:
type: string
type: array
title: Cbid
additionalProperties: true
type: object
title: FlexibleCBPortfolio
OutputType:
type: string
enum:
- pdf
- csv
title: OutputType
Portfolio:
properties:
name:
type: string
title: Name
example: Example Portfolio
entities:
$ref: '#/components/schemas/FlexibleCBPortfolio'
example:
CBId:
- CB000000123
- CB000000456
type: object
required:
- name
- entities
title: Portfolio
PortfolioDataRequest:
properties:
portfolio:
$ref: '#/components/schemas/Portfolio'
EffectiveDateId:
type: integer
title: Effectivedateid
effectivedateid_min:
type: integer
title: Effectivedateid Min
effectivedateid_min_lag_months:
type: integer
title: Effectivedateid Min Lag Months
default: 0
columns:
items:
type: string
type: array
title: Columns
description: >-
List of columns to retrieve. Available columns: CBCountryOfDomicile,
CBCountryOfRisk, CBCountryOfRiskISO, CBEntityId, CBEntityName,
CBEntitySize, CBEntitySubType, CBEntityType, CBGroupSize, CBId,
CBIndustry, CBRegion, CBRegionGroup, CBSector, CBSubSector,
CBSubdivision, CBSubdivisionISO, CBSubdivisionRegion, CBSuperSector,
CCR, CCR100Notch, CCR100PDMid, CCR100PDMidLog, CCR21Notch,
CCR21PDMid, CCRAgreementIndicator, CCRContributorCount, CCRMax,
CCRMaxNotch, CCRMin, CCRMinNotch, CCRNotchDifferenceCBScale,
CCRNotchDifferenceClientScale, CCROpinionChangeIndicator,
CCROpinionChangeIndicatorNumeric, CCROutlierIndicator, CCRRSD,
CCRRatingChange12M, CCRRatingChange1M, CCRRatingChange3M,
CCRRatingChange6M, CCRRatingChange9M, CCRSkew, CCRSource, CRARated,
CUSIP, ClientId, ClientLogTTCPDChange, ClientLogTTCPDChangePublish,
ClientOpinionChangeIndicatorNumeric, ClientRatingCBScale,
ClientRatingCBScale21Notch, ClientRatingClientScale,
ClientRatingClientScaleName, ClientRatingClientScaleNormalisedNotch,
ClientRatingClientScaleNotch, ClientScaleNormalisedRating,
ClientTTCPD, ClientTTCPDLog, EffectiveDate, EffectiveDateId,
EntityStructure, ExClientOpinionChangeIndicatorNumeric,
ExClientPDAvg, ExClientPDAvgLog, ExClientRatingCBScale,
ExClientRatingClientScale, ExClientRatingClientScaleNotch,
FitchLTIDRating, IGHY, ISIN, ImmediateParentEntityId,
IsHistoricalQuorate, IsHistoricalQuorateCCR, IsPublicCompany, LEI,
LatestWatchlist, Ownership, ParticipationId, RealExClientPDAvg,
RealExClientPDAvgLog, SME, SMEFlag, SPFCLTNotch, SPFCLTRating,
TTCPDAverage, Ticker, UltimateParentCBCountryOfRisk,
UltimateParentCBEntityName, UltimateParentEntityId, isQuorate. Some
columns require specific entitlements (S&P, Fitch, client data).
type: object
required:
- portfolio
title: PortfolioDataRequest
PortfolioOverviewRequest:
properties:
effectivedateid_min_lag_months:
type: integer
title: Effectivedateid Min Lag Months
default: 24
rating_change_months:
type: integer
title: Rating Change Months
default: 6
portfolio:
$ref: '#/components/schemas/Portfolio'
facet_column:
type: string
title: Facet Column
default: CBIndustry
cra_rating_display_option:
$ref: '#/components/schemas/CRARatingDisplayOption'
default: none
output_types:
items:
$ref: '#/components/schemas/OutputType'
type: array
title: Output Types
default:
- pdf
EffectiveDateId:
type: integer
title: Effectivedateid
report_sections:
items:
type: string
type: array
title: Report Sections
num_entities_displayed:
type: integer
title: Num Entities Displayed
descriptor_column:
type: string
title: Descriptor Column
use_client_bands:
type: boolean
title: Use Client Bands
default: false
show_appendix:
type: boolean
title: Show Appendix
default: true
appendix_order_cols:
items:
type: string
type: array
title: Appendix Order Cols
top_n:
type: integer
title: Top N
default: 5
type: object
required:
- portfolio
title: PortfolioOverviewRequest
PortfolioSummaryRequest:
properties:
portfolio:
$ref: '#/components/schemas/Portfolio'
facet_column:
type: string
title: Facet Column
description: Column to group by (e.g., ClientType, Sector, Industry)
EffectiveDateId:
type: integer
title: Effectivedateid
rating_change_months:
type: integer
title: Rating Change Months
description: >-
Number of months to look back for rating changes (e.g., 24 for
2-year changes)
default: 24
use_client_scale:
type: boolean
title: Use Client Scale
default: false
use_oci:
type: boolean
title: Use Oci
default: false
type: object
required:
- portfolio
- facet_column
title: PortfolioSummaryRequest
RatingChangeFilters:
properties:
rating_change_type:
$ref: '#/components/schemas/RatingChangeType'
sort_by:
type: string
title: Sort By
default: rating_change
sort_descending:
type: boolean
title: Sort Descending
default: true
'n':
type: integer
title: 'N'
type: object
title: RatingChangeFilters
RatingChangeType:
type: string
enum:
- upgrades
- downgrades
title: RatingChangeType
RatingDistributionRequest:
properties:
portfolio:
$ref: '#/components/schemas/Portfolio'
EffectiveDateId:
type: integer
title: Effectivedateid
effectivedateid_min:
type: integer
title: Effectivedateid Min
effectivedateid_min_lag_months:
type: integer
title: Effectivedateid Min Lag Months
default: 0
use_client_scale:
type: boolean
title: Use Client Scale
default: false
use_cb7_scale:
type: boolean
title: Use Cb7 Scale
default: false
facet_column:
type: string
title: Facet Column
description: Column to group by (e.g., Sector, Region, Industry)
type: object
required:
- portfolio
title: RatingDistributionRequest
RequestEnvelope_Base:
properties:
Parameters:
additionalProperties: true
type: object
title: Parameters
type: object
required:
- Parameters
title: RequestEnvelope_Base
RequestEnvelope_CoverageCheckRequest:
properties:
Parameters:
$ref: '#/components/schemas/CoverageCheckRequest'
type: object
required:
- Parameters
title: RequestEnvelope_CoverageCheckRequest
RequestEnvelope_CustomAggregateRequest:
properties:
Parameters:
$ref: '#/components/schemas/CustomAggregateRequest'
type: object
required:
- Parameters
title: RequestEnvelope_CustomAggregateRequest
RequestEnvelope_EntityRatingChangeRequest:
properties:
Parameters:
$ref: '#/components/schemas/EntityRatingChangeRequest'
type: object
required:
- Parameters
title: RequestEnvelope_EntityRatingChangeRequest
RequestEnvelope_PortfolioDataRequest:
properties:
Parameters:
$ref: '#/components/schemas/PortfolioDataRequest'
type: object
required:
- Parameters
title: RequestEnvelope_PortfolioDataRequest
RequestEnvelope_PortfolioOverviewRequest:
properties:
Parameters:
$ref: '#/components/schemas/PortfolioOverviewRequest'
type: object
required:
- Parameters
title: RequestEnvelope_PortfolioOverviewRequest
RequestEnvelope_PortfolioSummaryRequest:
properties:
Parameters:
$ref: '#/components/schemas/PortfolioSummaryRequest'
type: object
required:
- Parameters
title: RequestEnvelope_PortfolioSummaryRequest
RequestEnvelop
# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/creditbenchmark/refs/heads/main/openapi/creditbenchmark-openapi-original.yml