Citizens Bank Accounts API

The Citizens Bank Accounts API enables authenticated consumers to programmatically retrieve deposit account and transaction data for Citizens Bank customers. Designed exclusively for Savings and Checking accounts, it provides structured access to account metadata and detailed transaction histories through a RESTful interface.

OpenAPI Specification

citizens-bank-accounts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Citizens Bank Accounts API
  description: >-
    The Citizens Bank Accounts API enables authenticated consumers to
    programmatically retrieve deposit account and transaction data for
    Citizens Bank customers. Designed exclusively for Savings and Checking
    accounts, it provides structured access to account metadata and
    detailed transaction histories through a RESTful interface.
  version: '1.0'
  contact:
    name: Citizens Bank Developer Support
    url: https://developer.citizensbank.com/support
externalDocs:
  description: Citizens Bank API Developer Portal
  url: https://developer.citizensbank.com/
servers:
  - url: https://api.citizensbank.com
    description: Production
  - url: https://sandboxapi.citizensbank.com
    description: Sandbox
tags:
  - name: Accounts
    description: Retrieve account information
  - name: Transactions
    description: Retrieve transaction history
security:
  - oauth2: []
paths:
  /accounts:
    get:
      operationId: getAccounts
      summary: Get customer accounts
      description: >-
        Retrieves a list of deposit accounts (Savings and Checking) for
        the authenticated customer.
      tags:
        - Accounts
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountList'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
  /accounts/{accountId}:
    get:
      operationId: getAccountById
      summary: Get account details
      description: Retrieves detailed information for a specific deposit account.
      tags:
        - Accounts
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            type: string
          description: The unique account identifier
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '404':
          description: Account not found
  /accounts/{accountId}/transactions:
    get:
      operationId: getTransactions
      summary: Get account transactions
      description: >-
        Retrieves transaction history for a specific deposit account
        with optional date filtering and pagination.
      tags:
        - Transactions
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            type: string
          description: The unique account identifier
        - name: fromDate
          in: query
          schema:
            type: string
            format: date
          description: Start date for transaction search
        - name: toDate
          in: query
          schema:
            type: string
            format: date
          description: End date for transaction search
        - name: limit
          in: query
          schema:
            type: integer
          description: Maximum number of transactions to return
        - name: offset
          in: query
          schema:
            type: integer
          description: Offset for pagination
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionList'
        '404':
          description: Account not found
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://api.citizensbank.com/oauth/authorize
          tokenUrl: https://api.citizensbank.com/oauth/token
          scopes:
            accounts:read: Read account information
            transactions:read: Read transaction history
  schemas:
    AccountList:
      type: object
      properties:
        accounts:
          type: array
          items:
            $ref: '#/components/schemas/Account'
    Account:
      type: object
      properties:
        accountId:
          type: string
          description: Unique account identifier
        accountType:
          type: string
          description: Type of account (Checking, Savings)
        accountName:
          type: string
          description: Account display name
        balance:
          type: number
          description: Current account balance
        availableBalance:
          type: number
          description: Available balance
        currency:
          type: string
          description: Currency code
        status:
          type: string
          description: Account status
    TransactionList:
      type: object
      properties:
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/Transaction'
        totalCount:
          type: integer
    Transaction:
      type: object
      properties:
        transactionId:
          type: string
          description: Unique transaction identifier
        date:
          type: string
          format: date-time
          description: Transaction date and time
        description:
          type: string
          description: Transaction description
        amount:
          type: number
          description: Transaction amount
        type:
          type: string
          description: Transaction type (debit, credit)
        balance:
          type: number
          description: Running balance after transaction
        category:
          type: string
          description: Transaction category