Accounts API

Manage your accounts programmatically. Create new accounts, retrieve details and balances, and organize all your client accounts in one place. This allows you to automate account operations and keep your financial data up to date with ease.

Operations 5

GET /accounts List accounts #
POST /accounts Create account #
GET /accounts/{id} Get account #
PATCH /accounts/{id} Manage account #
GET /accounts/{id}/balances Get an account balance #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/accounts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

jp-morgan-chase-accounts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Accounts API
  version: 2.0.55
  description: Manage your accounts programmatically. Create new accounts, retrieve details and balances, and organize all your client accounts in one place. This allows you to automate account operations and keep your financial data up to date with ease.
  contact:
    name: JPMC Technical Services Support
servers:
- url: https://api.payments.jpmorgan.com/embedded/v2
  description: PRODUCTION - MTLS
- url: https://api-mock.payments.jpmorgan.com/embedded/v2
  description: MOCK
- url: https://api-sandbox.payments.jpmorgan.com/embedded/v2
  description: CLIENT TESTING - MTLS
tags:
- name: Accounts
  description: Create, organize and manage accounts.
paths:
  /accounts:
    get:
      summary: List accounts
      description: Returns a list of accounts for a specific client.
      operationId: getAccountsListV2
      parameters:
      - $ref: '#/components/parameters/clientIdInQuery'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/pageNo'
      tags:
      - Accounts
      responses:
        '200':
          description: List of accounts for a specific client
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccountsListResponseV2'
              examples:
                GetAccountsListResponseV2:
                  $ref: '#/components/examples/GetAccountsListResponseV2'
        '400':
          $ref: '#/components/responses/400V2'
        '401':
          $ref: '#/components/responses/401V2'
        '403':
          $ref: '#/components/responses/403V2'
        '404':
          $ref: '#/components/responses/404V2'
        '500':
          $ref: '#/components/responses/500V2'
        '503':
          $ref: '#/components/responses/503V2'
    post:
      summary: Create account
      description: Create an account for a specific client
      operationId: postAccountsV2
      parameters:
      - $ref: '#/components/parameters/configurationIdInHeader'
      - $ref: '#/components/parameters/requestIdInHeader'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAccountRequestV2'
            examples:
              Create an account of type SUMMARY_ACCOUNT:
                $ref: '#/components/examples/CreateSummaryAccount'
              Create an account of type TRANSACTION_ACCOUNT:
                $ref: '#/components/examples/CreateTransactionAccount'
              Create an account of type LIMITED_DDA:
                $ref: '#/components/examples/CreateLimitedDdaAccount'
              Create an account of type LIMITED_DDA_PAYMENTS:
                $ref: '#/components/examples/CreateLimitedDdaPaymentsAccount'
      tags:
      - Accounts
      responses:
        '202':
          description: Account Request Accepted
          headers:
            request-id:
              $ref: '#/components/headers/requestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccountResponseV2'
              examples:
                Create an account of type SUMMARY_ACCOUNT:
                  $ref: '#/components/examples/CreateSummaryAccountRequestResponse'
                Create an account of type TRANSACTION_ACCOUNT:
                  $ref: '#/components/examples/CreateTransactionAccountRequestResponse'
                Create an account of type LIMITED_DDA:
                  $ref: '#/components/examples/CreateLimitedDdaAccountResponse'
                Create an account of type LIMITED_DDA_PAYMENTS:
                  $ref: '#/components/examples/CreateLimitedDdaPaymentsAccountResponse'
        '400':
          $ref: '#/components/responses/400V2'
        '401':
          $ref: '#/components/responses/401V2'
        '403':
          $ref: '#/components/responses/403V2'
        '404':
          $ref: '#/components/responses/404V2'
        '500':
          $ref: '#/components/responses/500V2'
        '503':
          $ref: '#/components/responses/503V2'
  /accounts/{id}:
    parameters:
    - $ref: '#/components/parameters/configurationIdInHeader'
    - $ref: '#/components/parameters/requestIdInHeader'
    - $ref: '#/components/parameters/accountIdInPath'
    get:
      summary: Get account
      description: Look up a single account by account ID
      operationId: getAccountsV2
      tags:
      - Accounts
      responses:
        '200':
          description: Account Details
          headers:
            request-id:
              $ref: '#/components/headers/requestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccountResponseV2'
              examples:
                Get an account details (SUMMARY_ACCOUNT):
                  $ref: '#/components/examples/GetSummaryAccountResponse'
                Get an account details (TRANSACTION_ACCOUNT):
                  $ref: '#/components/examples/GetTransactionAccountResponse'
                Get an account details (PAYIN account):
                  $ref: '#/components/examples/GetPayinAccountResponse'
                Get an account details (DEFAULT account):
                  $ref: '#/components/examples/GetDefaultAccountResponse'
                Get an account details (MANAGEMENT account):
                  $ref: '#/components/examples/GetManagementAccountResponse'
                Get an account details (PROCESSING account):
                  $ref: '#/components/examples/GetProcessingAccountResponse'
                Get an account details (PROCESSING_OFFSET account):
                  $ref: '#/components/examples/GetProcessingOffsetAccountResponse'
                Get an account details (CLIENT_OFFSET account):
                  $ref: '#/components/examples/GetClientOffsetAccountResponse'
                Get an account details (DDA account):
                  $ref: '#/components/examples/GetDdaAccountResponse'
                Get an account details (CLIENT_DDA account):
                  $ref: '#/components/examples/GetClientDdaAccountResponse'
                Get an account details (LIMITED_DDA account):
                  $ref: '#/components/examples/GetLimitedDDAAccountResponse'
                Get closed account details (LIMITED_DDA account):
                  $ref: '#/components/examples/GetClosedLimitedDDAAccountResponse'
                Get an account details (LIMITED_DDA_PAYMENTS account):
                  $ref: '#/components/examples/GetLimitedDdaPaymentsAccountResponse'
        '400':
          $ref: '#/components/responses/400V2'
        '401':
          $ref: '#/components/responses/401V2'
        '403':
          $ref: '#/components/responses/403V2'
        '404':
          $ref: '#/components/responses/404V2'
        '500':
          $ref: '#/components/responses/500V2'
        '503':
          $ref: '#/components/responses/503V2'
    patch:
      summary: Manage account
      description: Manage account
      operationId: manageAccountsV2
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManageAccountRequestV2'
            examples:
              Manage an account of type TRANSACTION_ACCOUNT:
                $ref: '#/components/examples/ManageTransactionAccount'
      tags:
      - Accounts
      responses:
        '202':
          description: Account request accepted
          headers:
            request-id:
              $ref: '#/components/headers/requestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManageAccountResponseV2'
              examples:
                Manage an account of type TRANSACTION_ACCOUNT:
                  $ref: '#/components/examples/examples-ManageTransactionAccount'
        '400':
          $ref: '#/components/responses/400V2'
        '401':
          $ref: '#/components/responses/401V2'
        '403':
          $ref: '#/components/responses/403V2'
        '404':
          $ref: '#/components/responses/404V2'
        '500':
          $ref: '#/components/responses/500V2'
        '503':
          $ref: '#/components/responses/503V2'
  /accounts/{id}/balances:
    parameters:
    - $ref: '#/components/parameters/configurationIdInHeader'
    - $ref: '#/components/parameters/requestIdInHeader'
    - $ref: '#/components/parameters/accountIdInPath'
    get:
      summary: Get an account balance
      description: Get the balance details for an account
      operationId: getAccountBalance
      tags:
      - Accounts
      responses:
        '200':
          description: Account balance details
          headers:
            request-id:
              $ref: '#/components/headers/requestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountBalanceResponseV2'
              examples:
                GetAccountBalanceDetailsTransactionAccount:
                  $ref: '#/components/examples/GetAccountBalanceDetailsTransactionAccount'
                GetAccountBalanceDetailsPayin:
                  $ref: '#/components/examples/GetAccountBalanceDetailsPayin'
                GetAccountBalanceDetailsDefault:
                  $ref: '#/components/examples/GetAccountBalanceDetailsDefault'
                GetAccountBalanceDetailsManagement:
                  $ref: '#/components/examples/GetAccountBalanceDetailsManagement'
                GetAccountBalanceDetailsProcessing:
                  $ref: '#/components/examples/GetAccountBalanceDetailsProcessing'
                GetAccountBalanceDetailsProcessingOffset:
                  $ref: '#/components/examples/GetAccountBalanceDetailsProcessingOffset'
                GetAccountBalanceDetailsClientOffset:
                  $ref: '#/components/examples/GetAccountBalanceDetailsClientOffset'
                GetAccountBalanceDetailsLimitedDDA:
                  $ref: '#/components/examples/GetAccountBalanceDetailsLimitedDDA'
                GetAccountBalanceDetailsLimitedDDAPayments:
                  $ref: '#/components/examples/GetAccountBalanceDetailsLimitedDDAPayments'
        '400':
          $ref: '#/components/responses/400V2'
        '401':
          $ref: '#/components/responses/401V2'
        '403':
          $ref: '#/components/responses/403V2'
        '404':
          $ref: '#/components/responses/404V2'
        '500':
          $ref: '#/components/responses/500V2'
        '503':
          $ref: '#/components/responses/503V2'
components:
  schemas:
    ClientIdV2:
      type: string
      description: The id of the approved client created via the /clients endpoint
      example: '0030000132'
      maxLength: 10
      minLength: 10
      pattern: ^\d+$
    CreateAccountResponseV2:
      type: object
      required:
      - id
      - category
      properties:
        id:
          $ref: '#/components/schemas/AccountIdV2'
        category:
          $ref: '#/components/schemas/AccountCategoryRequestV2'
        parentAccountId:
          $ref: '#/components/schemas/AccountParentIdV2'
        state:
          $ref: '#/components/schemas/StateV2'
        balanceLimits:
          $ref: '#/components/schemas/BalanceLimitsV2'
        paymentRoutingInformation:
          $ref: '#/components/schemas/PaymentRoutingInformationRequestV2'
        label:
          $ref: '#/components/schemas/LabelResponseV2'
        clientId:
          $ref: '#/components/schemas/ClientIdV2'
    GetAccountResponseV2:
      type: object
      required:
      - id
      - category
      - state
      - createdAt
      - updatedAt
      properties:
        id:
          $ref: '#/components/schemas/AccountIdV2'
        clientId:
          $ref: '#/components/schemas/ClientIdV2'
        label:
          $ref: '#/components/schemas/LabelResponseV2'
        state:
          $ref: '#/components/schemas/StateV2'
        category:
          $ref: '#/components/schemas/AccountCategoryResponseV2'
        parentAccountId:
          $ref: '#/components/schemas/AccountParentIdV2'
        paymentRoutingInformation:
          $ref: '#/components/schemas/PaymentRoutingInformationV2'
        balanceLimits:
          $ref: '#/components/schemas/BalanceLimitsV2'
        createdAt:
          $ref: '#/components/schemas/CreatedAtV2'
        updatedAt:
          $ref: '#/components/schemas/UpdatedAtV2'
        closureReason:
          $ref: '#/components/schemas/ClosureReasonV2'
        restrictions:
          $ref: '#/components/schemas/RestrictionsV2'
    ClientRequestedClosureReason:
      type: string
      maxLength: 50
      minLength: 1
      description: 'Reason for account closure. This field is included when an account closure has been requested. Valid values include:


        | Value | Description |

        |-------|-------------|

        | `ELECTIVE` | Account closed by choice |

        | `SUBJECTED_TO_FRAUD` | Account closed due to fraud |

        | `OVERDRAFT` | Account closed due to overdraft |

        | `DORMANCY` | Account closed due to dormancy/inactivity |

        | `OTHER` | Account closed for other reasons |


        **Note:** Not used for closing `TRANSACTION_ACCOUNT` or `SUMMARY_ACCOUNT`

        '
    LabelV2:
      type: string
      description: The label of the account to be created. Currently, only MAIN is supported and used only when the category is `LIMITED_DDA` or `LIMITED_DDA_PAYMENTS`
      example: MAIN
      pattern: ^[A-Z]+$
    ApiErrorReasonV2:
      type: object
      description: Schema representing detailed reasons for an API error, including code, location, and message.
      required:
      - message
      properties:
        code:
          type: string
          example: '11000'
          description: Short code that identifies the error - publicly cataloged and documented
          minLength: 0
          maxLength: 5
        location:
          type: string
          enum:
          - BODY
          - QUERY
          - PATH
          - HEADER
          example: BODY
          description: Part of the request which is responsible for the reason
        field:
          type: string
          description: The location of the property or parameter in error
          minLength: 0
          maxLength: 512
        message:
          type: string
          example: Client with ID 0031234567 does not exist.
          description: Message describing the reason. This message can typically be displayed to your platform's users, except in cases specified otherwise
          minLength: 0
          maxLength: 2048
    AccountBalanceV2:
      type: object
      required:
      - effectiveDate
      - currency
      - balances
      properties:
        effectiveDate:
          description: The branch date when your balance was last updated, presented in ISO date format (yyyy-MM-dd). This could be future dated if transactions occur on non business days.
          type: string
          format: date
          example: '2022-12-31'
        currency:
          type: string
          description: Balance currency
          example: USD
        balances:
          type: array
          description: List of account balances of type  -Interim available, Interim booked and interim expected
          items:
            $ref: '#/components/schemas/AccountBalanceDtoV2'
          minItems: 1
    BalanceLimitsV2:
      type: object
      description: Balance limits the account is allowed to have
      properties:
        minimumBalance:
          type: string
          description: The account balance will not be allowed to go below this limit.
          example: '0'
          maxLength: 15
          pattern: '[-.0-9]+'
        maximumBalance:
          type: string
          description: The account balance will not be allowed to go above this limit.
          example: '1000000'
          maxLength: 15
          pattern: '[.0-9]+'
    AccountParentIdV2:
      type: string
      description: The id of the parent `SUMMARY_ACCOUNT` when creating a `TRANSACTION_ACCOUNT` or `SUMMARY_ACCOUNT`
      example: dc2eda9084bf40b7a1d8baa8c5e0ea0a
      maxLength: 32
      pattern: ^[a-zA-Z0-9]+$
    ManageAccountResponseV2:
      type: object
      required:
      - id
      properties:
        id:
          $ref: '#/components/schemas/AccountIdV2'
        state:
          $ref: '#/components/schemas/StateV2'
        balanceLimits:
          $ref: '#/components/schemas/BalanceLimitsV2'
        paymentRoutingInformation:
          $ref: '#/components/schemas/PaymentRoutingInformationRequestV2'
        closureReason:
          $ref: '#/components/schemas/ClientRequestedClosureReason'
    StateV2:
      type: string
      description: 'State of the account. Valid values are:


        | Value | Description |

        |-------|-------------|

        | `OPEN` | Account is open and operational |

        | `PENDING_OPEN` | Account opening is pending |

        | `PENDING_CLOSE` | Account closure is pending |

        | `CLOSED` | Account is closed |

        '
      example: OPEN
      maxLength: 32
    AccountBalanceDtoV2:
      type: object
      required:
      - type
      - amount
      properties:
        type:
          type: string
          description: 'Balance Types:


            | Value | Description |

            |-------|-------------|

            | `INTERIM_AVAILABLE` | The available balance from the ledger balance that can be paid out or have pre-authorizations holds placed against ledger balance. Available Balance = Ledger Balance - (Pending Debits + Holds) |

            | `INTERIM_BOOKED` | The actual cash balance on the account |

            | `INTERIM_EXPECTED` | The most optimistic future balance assuming pending credits are realized and not taking into consideration pending debits or holds. Expected Balance = Ledger Balance + Pending Credits |

            '
          example: INTERIM_AVAILABLE
        amount:
          type: string
          description: Balance amount
          example: '100.23'
    PaymentRoutingInformationRequestV2:
      type: object
      description: Payment routing information request
      required:
      - enableAccountNumber
      properties:
        enableAccountNumber:
          type: boolean
          description: When true, an account number will be associated with the account to allow you to receive funds from external banks directly into the created account.  This is only valid for `TRANSACTION_ACCOUNT`
          example: true
    CreateAccountRequestV2:
      type: object
      required:
      - category
      properties:
        category:
          $ref: '#/components/schemas/AccountCategoryRequestV2'
        parentAccountId:
          $ref: '#/components/schemas/AccountParentIdV2'
        state:
          $ref: '#/components/schemas/StateV2'
        balanceLimits:
          $ref: '#/components/schemas/BalanceLimitsV2'
        paymentRoutingInformation:
          $ref: '#/components/schemas/PaymentRoutingInformationRequestV2'
        label:
          $ref: '#/components/schemas/LabelV2'
        clientId:
          $ref: '#/components/schemas/ClientIdV2'
    LabelResponseV2:
      type: string
      description: Account label
      example: MAIN
      pattern: ^[a-zA-Z0-9 _-]+$
    UpdatedAtV2:
      type: string
      description: Date and time the account was last updated
      example: '2024-09-20T20:33:42.732Z'
      format: date-time
    RoutingInformationV2:
      type: object
      description: Routing information
      required:
      - routingCodeType
      - routingNumber
      properties:
        routingCodeType:
          type: string
          description: Identifies the type of routing number specified e.g `ABA`
          example: ABA
        routingNumber:
          type: string
          description: The routing type for the account which identifies a specific bank and branch for fund transfers
          example: '065400137'
        transactionType:
          type: string
          description: The transaction type associated to this routing number for example `ACH`
          example: ACH
    GetAccountsListResponseV2:
      type: object
      required:
      - metadata
      - items
      properties:
        metadata:
          $ref: '#/components/schemas/PageMetaData'
        items:
          type: array
          description: List of accounts for a specific client
          items:
            $ref: '#/components/schemas/GetAccountResponseV2'
          minItems: 0
    ManageAccountRequestV2:
      type: object
      properties:
        state:
          $ref: '#/components/schemas/StateV2'
        paymentRoutingInformation:
          $ref: '#/components/schemas/PaymentRoutingInformationRequestV2'
        balanceLimits:
          $ref: '#/components/schemas/BalanceLimitsV2'
        closureReason:
          $ref: '#/components/schemas/ClientRequestedClosureReason'
    AccountIdV2:
      type: string
      description: The resource Id of your account to use when looking up details of this account or making payments
      example: dc2eda9084bf40b7a1d8baa8c5e0ea0a
    PageMetaData:
      type: object
      properties:
        page:
          type: integer
          minimum: 0
          format: int32
          example: 1
          description: 'Page Number.

            '
        limit:
          type: integer
          minimum: 0
          format: int32
          example: 30
          description: 'Number of records per page.

            '
        total_items:
          type: integer
          minimum: 0
          format: int32
          example: 1
          description: 'Total number of items.

            '
    AccountCategoryRequestV2:
      type: string
      example: SUMMARY_ACCOUNT
      description: 'Depending on your pathway, the category of the account can be one of the following:


        | Value | Description |

        |-------|-------------|

        | `SUMMARY_ACCOUNT` | Summary account type |

        | `TRANSACTION_ACCOUNT` | Transaction account type |

        | `LIMITED_DDA` | Limited DDA account type |

        | `LIMITED_DDA_PAYMENTS` | Limited DDA Payments account type |

        '
    PaymentRoutingInformationV2:
      type: object
      description: Payment routing information
      required:
      - accountNumber
      - country
      - routingInformation
      properties:
        accountNumber:
          type: string
          description: Account number (PRN)
          example: '20000113278882'
        country:
          type: string
          description: Two letter country code based on ISO 3166 standard
          example: US
          maxLength: 2
        routingInformation:
          type: array
          description: Routing information
          items:
            $ref: '#/components/schemas/RoutingInformationV2'
          minItems: 0
        status:
          type: string
          description: 'Indicates the current status of the Payment Routing Number (PRN) associated with an account. Valid values are:


            | Value | Description |

            |-------|-------------|

            | `ACTIVE` | Allows for both incoming and outgoing transactions, including external transfers |

            | `INACTIVE` | The client cannot receive payments (PAYIns) from external sources into the account, nor can they transfer money out externally. However, internal money movements within linked accounts are still possible |


            **Important:** An `INACTIVE` PRN status strictly pertains to the PRN''s ability to handle external transactions and does not affect the overall status or functionality of the account itself. The account remains active and operational for other purposes.

            '
          example: ACTIVE
    AccountCategoryResponseV2:
      type: string
      example: SUMMARY_ACCOUNT
      description: 'Category of the account. Valid values are:


        | Value | Description |

        |-------|-------------|

        | `SUMMARY_ACCOUNT` | Summary account |

        | `TRANSACTION_ACCOUNT` | Transaction account |

        | `PAYIN` | Pay-in account |

        | `DEFAULT` | Default account |

        | `MANAGEMENT` | Management account |

        | `PROCESSING` | Processing account |

        | `PROCESSING_OFFSET` | Processing offset account |

        | `CLIENT_OFFSET` | Client offset account |

        | `DDA` | DDA account |

        | `CLIENT_DDA` | Client DDA account |

        | `LIMITED_DDA` | Limited DDA account |

        | `LIMITED_DDA_PAYMENTS` | Limited DDA Payments account |

        '
    ApiErrorV2:
      type: object
      description: Schema representing a version 2 API error, including title, HTTP status, and additional context.
      required:
      - title
      properties:
        title:
          type: string
          description: Short humanly-readable title of the error
          example: BAD_REQUEST
          minLength: 1
          maxLength: 512
        httpStatus:
          type: integer
          description: HTTP status code
          minimum: 100
          maximum: 599
          format: int32
          example: 400
        traceId:
          type: string
          description: Internal assigned traced identifier
          minLength: 0
          maxLength: 512
        requestId:
          type: string
          description: Client provided request identifier
          minLength: 0
          maxLength: 512
        context:
          type: array
          items:
            $ref: '#/components/schemas/ApiErrorReasonV2'
          description: Provides additional context and detail on the validation errors
          minItems: 0
          maxItems: 100
    ClosureReasonV2:
      type: string
      description: Reason for account closure
      maxLength: 50
      minLength: 1
      example: ELECTIVE
    CreatedAtV2:
      type: string
      description: Date and time the account was created
      example: '2024-09-19T17:33:42.732Z'
      format: date-time
    AccountRestrictionV2:
      type: object
      description: List of restriction properties
      required:
      - restrictionId
      - restrictionType
      - restrictionReason
      - restrictionStatus
      - effectiveFrom
      properties:
        restrictionId:
          type: string
          description: Unique identifier for the restriction
          example: efeacff8-fd2c-4f54-a12e-2a8f90d4d325
          maxLength: 36
        restrictionType:
          type: string
          description: 'The type of restriction to apply to the account. Valid values are:


            | Value | Description |

            |-------|-------------|

            | `DEBITS` | Restricts debit transactions |

            | `CREDITS` | Restricts credit transactions |

            | `DEBIT_CREDIT` | Restricts both debit and credit transactions |

            | `DIRECT_DEBIT` | Restricts direct debit transactions |

            '
          example: DEBITS
        restrictionReason:
          type: string
          description: 'Reason for restriction on account. Valid values are:


            | Value | Description |

            |-------|-------------|

            | `CLIENT_REQUESTED` | Client requested the restriction |

            | `COURT_ORDER` | Restriction due to court order |

            | `FDIC` | Restriction due to FDIC |

            | `OTHER_RESTRICTION` | Other restriction reason |

            | `PROBATE` | Restriction due to probate |

            '
          example: CLIENT_REQUESTED
        restrictionStatus:
          type: string
          description: 'Current status of the restriction. Valid values are:


            | Value | Description |

            |-------|-------------|

            | `ACTIVE` | Restriction is currently active |

            | `INACTIVE` | Restriction is inactive |

            | `IN_REVIEW` | Restriction is under review |

            | `IN_PLACE` | Restriction is in place |

            | `CANCELLED` | Restriction has been cancelled |

            | `REJECTED` | Restriction was rejected |

            | `REMOVE_IN_REVIEW` | Removal of restriction is under review |

            | `REMOVED` | Restriction has been removed |

            | `EXPIRED` | Restriction has expired |

            | `PENDING` | Restriction is pending |

            '
          example: ACTIVE
        effectiveFrom:
          type: string
          format: date-time
          example: '2023-02-01T12:04:53.11122Z'
          description: Date and time when the restriction became effective
    RestrictionsV2:
      type: array
      description: List of restrictions applied to the account
      items:
        $ref: '#/components/schemas/AccountRestrictionV2'
      minItems: 0
    AccountBalanceResponseV2:
      type: object
      required:
      - id
      - items
      properties:
        id:
          type: string
          description: Account identifier
          example: dc2eda9084bf40b7a1d8baa8c5e0ea0ax
        items:
          type: array
          description: List containing account balance details for different balance types
          items:
            $ref: '#/components/schemas/AccountBalanceV2'
          minItems: 1
  examples:
    CreateSummaryAccount:
      summary: Create a SUMMARY_ACCOUNT
      description: Create a SUMMARY_ACCOUNT
      value:
        category: SUMMARY_ACCOUNT
        state: OPEN
        parentAccountId: 05bd6de816ea4f75a7d7e9d6b3988070
    CreateTransactionAccountRequestResponse:
      summary: Create a TRANSACTION_ACCOUNT Response
      description: Create a TRANSACTION_ACCOUNT Response
      value:
        id: b316151f575e4c1e9f548f1b40aae462
        category: TRANSACTION_ACCOUNT
        state: OPEN
        parentAccountId: 388f673db5574d419637e1ca8a578ad0
        paymentRoutingInformation:
          enableAccountNumber: true
        balanceLimits:
          minimumBalance: '0.00'
          maximumBalance: '7600000000.95'
    CreateSummaryAccountRequestResponse:
      summary: Create a SUMMARY_ACCOUNT Response
      description: Create a SUMMARY_ACCOUNT Response
      value:
        id: b316151f575e4c1e9f548f1b40aae462
        category: SUMMARY_ACCOUNT
        state: OPEN
        parentAccountId: 05bd6de816ea4f75a7d7e9d6b3988070
    GetAccountBalanceDetailsPayin:
      summary: Get Account Balance - PAYIN
      description: Get Account Balance - PAYIN
      value:
        id: PAYIN
        items:
        - effectiveDate: '2021-05-20'
          currency: USD
          balances:
          - type: INTERIM_AVAILABLE
            amount: '100'
          - type: INTERIM_BOOKED
            amount: '552145.33'
          - type: INTERIM_EXPECTED
            amount: '79.8'
    GetDefaultAccountResponse:
      summary: Get DEFAULT account details
      description: Retrieve DEFAULT account details
      value:
        id: DEFAULT
        category: DEFAULT
        state: OPEN
        parentAccountId: DSA
        createdAt: '2024-09-19T17:33:42.732Z'
        updatedAt: '2024-10-20T15:08:31.654Z'
    GetAccountBalanceDetailsProcessing:
      summary: Get Account Balance - PROCESSING
      description: Get Account Balance - PROCESSING
      value:
        id: ae86b765e14741c5a44acc8920f517ab
        items:
        - effectiveDate: '2021-06-29'
          currency: USD
          balances:
          - type: INTERIM_AVAILABLE
            amount: '5212.23'
          - type: INTERIM_BOOKED
            amount: '400.8'
          - type: INTERIM_EXPECTED
            amount: '253.79'
    GetTransactionAccountResponse:
      summary: Get TRANSACTION_ACCOUNT details
      description: Retrieve TRANSACTION_ACCOUNT details
      value:
        id: b316151f575e4c1e9f548f1b40aae462
        category: TRANSACTION_ACCOUNT
        state: OPEN
        parentAccountId: 2af30efd0d8e4432bc271cb38e9da567
        paymentRoutingInformation:
          accountNumber: '20000113278882'
          country: US
          routingInformation:
          - routingCodeType: ABA
            routingNumber: '065400137'
            transactionType: ACH
          status: ACTIVE
        balanceLimits:
          minimumBalance: '0.0'
          maximumBalance: '100000.00'
        restrictions:
        - restrictionId: befcda2d-b351-48d2-9e4d-e9ef0a07890d
          restrictionReason: CLIENT_REQUESTED
          restrictionType: DEBITS
          restrictionStatus: ACTIVE
          effectiveFrom: '2024-10-21T00:00:00.000Z'
        - restrictionId: befcda2d-b351-48d2-9e4d-e9ef0a078903
          restrictionReason: CLIENT_REQUESTED
          restrictionType: CREDITS
          restrictionStatus: ACTIVE
          effectiveFrom: '2024-10-21T00:00:00.000Z'
        - res

# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/jp-morgan-chase/refs/heads/main/openapi/jp-morgan-chase-accounts-api-openapi.yml