Citizens Financial Group · OpenAPI Overlay 1.0.0

Citizens Statements (FDX v1.0) API enrichment overlay

6 actions 6 updates documentation extends citizens-financial-group-statements-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Citizens Financial Group's API. It is a proposal applied on top of the contract, not a document Citizens Financial Group publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

tagsx-apis-io-operation-idx-apis-io-operation-id-sourcex-apis-io-harvestedx-apis-io-sourcex-apis-io-environmentx-domain-standardx-additional-required-credentials

Targets 5

$.info
$.paths['/accounts/{accountId}/statements'].get
$.paths['/accounts/{accountId}/statements/{statementId}'].get
$.securityDefinitions['x-fapi-financial-id']
$

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: Citizens Statements (FDX v1.0) API enrichment overlay
  version: 1.0.0
  x-generated: '2026-09-05'
  x-method: generated
  x-source: API Evangelist enrichment pass 2026-09-05; every value is read from the harvested contract
    itself or from a Citizens-published page named in the action description.
extends: citizens-financial-group-statements-openapi.yml
actions:
- target: $.info
  description: Record the harvest provenance and the portal page the contract was read from.
  update:
    x-apis-io-harvested: '2026-09-05'
    x-apis-io-source: https://developer.citizensbank.com/product/statements/api/statements-v1
    x-apis-io-environment: production
- target: $.info
  description: Name the domain standard the contract declares in its own base path.
  update:
    x-domain-standard:
      id: fdx
      name: Financial Data Exchange (FDX) API
      version: '1.0'
      declared-at: $.basePath
      see: conformance/citizens-financial-group-conformance.yml
- target: $.paths['/accounts/{accountId}/statements'].get
  description: The published contract declares no operationId. Supply a stable identifier; the name is ours,
    not Citizens'.
  update:
    tags:
    - Statements
    x-apis-io-operation-id: listAccountStatements
    x-apis-io-operation-id-source: assigned by API Evangelist; the published contract declares none
- target: $.paths['/accounts/{accountId}/statements/{statementId}'].get
  description: Supply a stable identifier for the single-statement read.
  update:
    tags:
    - Statements
    x-apis-io-operation-id: getAccountStatement
    x-apis-io-operation-id-source: assigned by API Evangelist; the published contract declares none
- target: $.securityDefinitions['x-fapi-financial-id']
  description: Record the credentials the call actually needs beyond the single header the contract advertises.
  update:
    x-additional-required-credentials:
    - Authorization Bearer token from https://apis.citizensbank.com/as/token.oauth2 (private_key_jwt over mTLS)
    - X-IBM-Client-Id issued at developer-portal onboarding
    - source-IP allowlisting provisioned by the Citizens Implementation Manager
    x-source: authentication/citizens-financial-group-authentication.yml
- target: $
  description: Record the error-contract gap - only a 200 is declared on either path.
  update:
    x-error-contract-gap:
      declared-status-codes:
      - '200'
      note: No 4xx or 5xx response is declared on any operation in this contract.
      see: errors/citizens-financial-group-error-codes.yml