Fiserv CardDeveloper API

The Fiserv CardDeveloper API enables financial institutions and cardholders to manage card and account information through various touchpoints. The API supports account creation, card management, authorization management, transaction inquiry, limit management, and statement retrieval for credit and debit card programs.

OpenAPI Specification

fiserv-carddeveloper-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Fiserv CardDeveloper API
  description: >-
    The Fiserv CardDeveloper API enables financial institutions and
    cardholders to manage card and account information through various
    touchpoints. The API supports account creation, card management,
    authorization management, transaction inquiry, limit management,
    and statement retrieval for credit and debit card programs.
  version: '1.0.0'
  contact:
    name: Fiserv Developer Support
    url: https://developer.fiserv.com/product/CardDeveloper
  termsOfService: https://www.fiserv.com/en/legal.html
externalDocs:
  description: CardDeveloper API Documentation
  url: https://developer.fiserv.com/product/CardDeveloper/docs/?path=docs/gettingstarted/getting-started.md
servers:
  - url: https://cert.api.fiservapps.com
    description: Certification Environment
  - url: https://prod.api.fiservapps.com
    description: Production Environment
tags:
  - name: Accounts
    description: >-
      Create and manage card accounts including credit and debit accounts.
  - name: Authorizations
    description: >-
      Create and manage transaction authorizations.
  - name: Cards
    description: >-
      Issue, activate, manage, and retrieve card details.
  - name: Limits
    description: >-
      Manage credit, temporary credit, and cash limits.
  - name: Statements
    description: >-
      Retrieve account statements and statement transactions.
  - name: Transactions
    description: >-
      Retrieve transaction history and details for card accounts.
security:
  - bearerAuth: []
paths:
  /v2/accounts/account:
    post:
      operationId: addAccount
      summary: Fiserv Create a new card account
      description: >-
        Creates a new consumer or commercial card account. Supports
        credit account creation with configurable credit limits and
        billing preferences.
      tags:
        - Accounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountAddRequest'
      responses:
        '201':
          description: Account created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountAddResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/accounts/{accountNumber}:
    get:
      operationId: getAccount
      summary: Fiserv Retrieve account details
      description: >-
        Retrieves account-specific data including balances, limits,
        status, and billing information.
      tags:
        - Accounts
      parameters:
        - $ref: '#/components/parameters/AccountNumber'
      responses:
        '200':
          description: Account details returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountInquiryResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/cards/card:
    post:
      operationId: issueCard
      summary: Fiserv Issue a new card
      description: >-
        Issues a new card for an existing account. The card can be
        a primary card or an additional authorized user card.
      tags:
        - Cards
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CardIssueRequest'
      responses:
        '201':
          description: Card issued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardIssueResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/cards/{cardNumber}:
    get:
      operationId: getCard
      summary: Fiserv Retrieve card details
      description: >-
        Retrieves card information including card status, expiration
        date, and card type.
      tags:
        - Cards
      parameters:
        - $ref: '#/components/parameters/CardNumber'
      responses:
        '200':
          description: Card details returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardInquiryResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Card not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      operationId: updateCard
      summary: Fiserv Update card details
      description: >-
        Updates card attributes such as status (activate, deactivate,
        block), and PIN settings.
      tags:
        - Cards
      parameters:
        - $ref: '#/components/parameters/CardNumber'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CardUpdateRequest'
      responses:
        '200':
          description: Card updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardUpdateResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Card not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/authorizations:
    post:
      operationId: createAuthorization
      summary: Fiserv Create an authorization
      description: >-
        Creates a new authorization for an account or cancels an existing
        authorization using the card number.
      tags:
        - Authorizations
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthorizationRequest'
      responses:
        '201':
          description: Authorization created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/authorizations/{authorizationId}/cancel:
    post:
      operationId: cancelAuthorization
      summary: Fiserv Cancel an authorization
      description: >-
        Cancels a previously created authorization, releasing the hold
        on the account.
      tags:
        - Authorizations
      parameters:
        - name: authorizationId
          in: path
          required: true
          schema:
            type: string
          description: >-
            The authorization identifier to cancel.
      responses:
        '200':
          description: Authorization cancelled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationCancelResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Authorization not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/accounts/{accountNumber}/transactions:
    get:
      operationId: listTransactions
      summary: Fiserv List account transactions
      description: >-
        Retrieves summary or detailed transaction history for a card
        account. Supports filtering by date range, merchant, and
        transaction type.
      tags:
        - Transactions
      parameters:
        - $ref: '#/components/parameters/AccountNumber'
        - name: fromDate
          in: query
          schema:
            type: string
            format: date
          description: >-
            Start date for the transaction search.
        - name: toDate
          in: query
          schema:
            type: string
            format: date
          description: >-
            End date for the transaction search.
        - name: transactionType
          in: query
          schema:
            type: string
          description: >-
            Filter by transaction type.
      responses:
        '200':
          description: Transactions returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionListResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/limits:
    get:
      operationId: getLimits
      summary: Fiserv Get account limits
      description: >-
        Retrieves account limits including credit limit, temporary credit
        limit, and cash advance limit.
      tags:
        - Limits
      parameters:
        - name: accountNumber
          in: query
          required: true
          schema:
            type: string
          description: >-
            The account number to retrieve limits for.
      responses:
        '200':
          description: Limits returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LimitsResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      operationId: updateLimits
      summary: Fiserv Update account limits
      description: >-
        Updates account limits such as credit limit, temporary credit
        limit, or cash advance limit.
      tags:
        - Limits
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LimitsUpdateRequest'
      responses:
        '200':
          description: Limits updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LimitsUpdateResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/accounts/{accountNumber}/statements:
    get:
      operationId: listStatements
      summary: Fiserv List account statements
      description: >-
        Retrieves statement information and statement transactions for
        a card account.
      tags:
        - Statements
      parameters:
        - $ref: '#/components/parameters/AccountNumber'
        - name: statementDate
          in: query
          schema:
            type: string
            format: date
          description: >-
            The statement date to retrieve.
      responses:
        '200':
          description: Statements returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatementListResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        OAuth 2.0 Bearer token for API authentication.
  parameters:
    AccountNumber:
      name: accountNumber
      in: path
      required: true
      schema:
        type: string
      description: >-
        The card account number.
    CardNumber:
      name: cardNumber
      in: path
      required: true
      schema:
        type: string
      description: >-
        The card number.
  schemas:
    AccountAddRequest:
      type: object
      description: >-
        Request body for creating a card account.
      required:
        - accountType
      properties:
        accountType:
          type: string
          enum:
            - CONSUMER_CREDIT
            - COMMERCIAL_CREDIT
            - CONSUMER_DEBIT
          description: >-
            The type of card account.
        creditLimit:
          type: number
          format: double
          description: >-
            The credit limit for credit accounts.
        billingCycleDay:
          type: integer
          minimum: 1
          maximum: 28
          description: >-
            The billing cycle day of the month.
    AccountAddResponse:
      type: object
      description: >-
        Response body for account creation.
      properties:
        accountNumber:
          type: string
          description: >-
            The new account number.
        status:
          type: string
          description: >-
            The account status.
    AccountInquiryResponse:
      type: object
      description: >-
        Response body for account inquiry.
      properties:
        accountNumber:
          type: string
          description: >-
            The account number.
        accountType:
          type: string
          description: >-
            The account type.
        status:
          type: string
          description: >-
            The account status.
        creditLimit:
          type: number
          format: double
          description: >-
            The credit limit.
        availableCredit:
          type: number
          format: double
          description: >-
            The available credit.
        currentBalance:
          type: number
          format: double
          description: >-
            The current balance.
        minimumPaymentDue:
          type: number
          format: double
          description: >-
            The minimum payment due.
        paymentDueDate:
          type: string
          format: date
          description: >-
            The payment due date.
    CardIssueRequest:
      type: object
      description: >-
        Request body for issuing a card.
      required:
        - accountNumber
      properties:
        accountNumber:
          type: string
          description: >-
            The account to issue the card for.
        cardType:
          type: string
          enum:
            - PRIMARY
            - AUTHORIZED_USER
          description: >-
            The card type.
        nameOnCard:
          type: string
          description: >-
            The name to emboss on the card.
    CardIssueResponse:
      type: object
      description: >-
        Response body for card issuance.
      properties:
        cardNumber:
          type: string
          description: >-
            The issued card number (masked).
        expirationDate:
          type: string
          description: >-
            The card expiration date.
        status:
          type: string
          description: >-
            The card status.
    CardInquiryResponse:
      type: object
      description: >-
        Response body for card inquiry.
      properties:
        cardNumber:
          type: string
          description: >-
            The masked card number.
        accountNumber:
          type: string
          description: >-
            The associated account number.
        status:
          type: string
          description: >-
            The card status.
        expirationDate:
          type: string
          description: >-
            The card expiration date.
        cardType:
          type: string
          description: >-
            The card type.
        nameOnCard:
          type: string
          description: >-
            The name on the card.
    CardUpdateRequest:
      type: object
      description: >-
        Request body for updating card attributes.
      properties:
        status:
          type: string
          enum:
            - ACTIVE
            - INACTIVE
            - BLOCKED
            - LOST
            - STOLEN
          description: >-
            The updated card status.
    CardUpdateResponse:
      type: object
      description: >-
        Response body for card update.
      properties:
        cardNumber:
          type: string
          description: >-
            The card number.
        status:
          type: string
          description: >-
            The updated status.
    AuthorizationRequest:
      type: object
      description: >-
        Request body for creating a transaction authorization.
      required:
        - cardNumber
        - amount
      properties:
        cardNumber:
          type: string
          description: >-
            The card number.
        amount:
          type: number
          format: double
          description: >-
            The authorization amount.
        currency:
          type: string
          pattern: '^[A-Z]{3}$'
          description: >-
            The ISO 4217 currency code.
        merchantName:
          type: string
          description: >-
            The merchant name.
        merchantCategoryCode:
          type: string
          description: >-
            The merchant category code (MCC).
    AuthorizationResponse:
      type: object
      description: >-
        Response body for authorization creation.
      properties:
        authorizationId:
          type: string
          description: >-
            The authorization identifier.
        status:
          type: string
          enum:
            - APPROVED
            - DECLINED
          description: >-
            The authorization status.
        approvalCode:
          type: string
          description: >-
            The approval code if authorized.
    AuthorizationCancelResponse:
      type: object
      description: >-
        Response body for authorization cancellation.
      properties:
        authorizationId:
          type: string
          description: >-
            The cancelled authorization identifier.
        status:
          type: string
          description: >-
            The cancellation status.
    TransactionListResponse:
      type: object
      description: >-
        Response body for transaction list.
      properties:
        accountNumber:
          type: string
          description: >-
            The account number.
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/CardTransaction'
          description: >-
            The list of transactions.
    CardTransaction:
      type: object
      description: >-
        A single card transaction record.
      properties:
        transactionId:
          type: string
          description: >-
            The transaction identifier.
        transactionDate:
          type: string
          format: date
          description: >-
            The transaction date.
        postDate:
          type: string
          format: date
          description: >-
            The posting date.
        amount:
          type: number
          format: double
          description: >-
            The transaction amount.
        currency:
          type: string
          description: >-
            The currency code.
        merchantName:
          type: string
          description: >-
            The merchant name.
        merchantCategoryCode:
          type: string
          description: >-
            The merchant category code.
        transactionType:
          type: string
          description: >-
            The transaction type (purchase, refund, etc.).
        description:
          type: string
          description: >-
            The transaction description.
    LimitsResponse:
      type: object
      description: >-
        Response body for account limits inquiry.
      properties:
        accountNumber:
          type: string
          description: >-
            The account number.
        creditLimit:
          type: number
          format: double
          description: >-
            The permanent credit limit.
        temporaryCreditLimit:
          type: number
          format: double
          description: >-
            The temporary credit limit.
        cashLimit:
          type: number
          format: double
          description: >-
            The cash advance limit.
        availableCredit:
          type: number
          format: double
          description: >-
            The available credit.
        availableCash:
          type: number
          format: double
          description: >-
            The available cash advance amount.
    LimitsUpdateRequest:
      type: object
      description: >-
        Request body for updating account limits.
      required:
        - accountNumber
      properties:
        accountNumber:
          type: string
          description: >-
            The account number.
        creditLimit:
          type: number
          format: double
          description: >-
            The new credit limit.
        temporaryCreditLimit:
          type: number
          format: double
          description: >-
            The new temporary credit limit.
        temporaryCreditLimitExpiry:
          type: string
          format: date
          description: >-
            The expiry date for the temporary limit.
        cashLimit:
          type: number
          format: double
          description: >-
            The new cash advance limit.
    LimitsUpdateResponse:
      type: object
      description: >-
        Response body for limits update.
      properties:
        accountNumber:
          type: string
          description: >-
            The account number.
        status:
          type: string
          description: >-
            The update status.
    StatementListResponse:
      type: object
      description: >-
        Response body for statement list.
      properties:
        accountNumber:
          type: string
          description: >-
            The account number.
        statements:
          type: array
          items:
            $ref: '#/components/schemas/Statement'
          description: >-
            The list of statements.
    Statement:
      type: object
      description: >-
        A single account statement record.
      properties:
        statementDate:
          type: string
          format: date
          description: >-
            The statement date.
        openingBalance:
          type: number
          format: double
          description: >-
            The opening balance.
        closingBalance:
          type: number
          format: double
          description: >-
            The closing balance.
        minimumPaymentDue:
          type: number
          format: double
          description: >-
            The minimum payment due.
        paymentDueDate:
          type: string
          format: date
          description: >-
            The payment due date.
        totalDebits:
          type: number
          format: double
          description: >-
            Total debits for the statement period.
        totalCredits:
          type: number
          format: double
          description: >-
            Total credits for the statement period.
    ErrorResponse:
      type: object
      description: >-
        Standard error response.
      properties:
        code:
          type: string
          description: >-
            The error code.
        message:
          type: string
          description: >-
            The error message.
        details:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
                description: >-
                  The field that caused the error.
              message:
                type: string
                description: >-
                  The field-level error message.
          description: >-
            Detailed field-level errors.