Modulr Card Simulator API

Cards Simulator API

Operations 17

POST /credit-authorisations/{creditAuthId}/reverse Reverse a credit authorisation #
POST /cards/{cardId}/settlements Create a settlement without prior authorisation #
POST /cards/{cardId}/refunds Create a card refund #
POST /cards/{cardId}/original-credits Simulate an original credit #
POST /cards/{cardId}/original-credits/{originalCreditActivityId}/reverse Reverse an original credit #
POST /cards/{cardId}/offline-transactions Create an offline transaction #
POST /cards/{cardId}/expire Simulate a card expiry #
POST /cards/{cardId}/credit-authorisations Simulate a credit authorisation #
POST /cards/{cardId}/chargebacks Create a standalone chargeback #
POST /cards/{cardId}/authorisations Create a card authorisation #
POST /cards/{cardId}/activities/{settlementActivityId}/chargebacks Chargeback an existing settlement #
POST /cards/{cardId}/account-status-inquiry Perform an account status inquiry #
POST /card-tokens/{tokenId}/devices/{deviceId}/unbind Unbind a device from a card token #
POST /authorisations/{authId}/settle Settle the full or partial card authorisation #
POST /authorisations/{authId}/reverse Reverse the card authorisation #
POST /activities/{chargebackActivityId}/resettlement Resettlement of a chargeback #
POST /activities/{chargebackActivityId}/chargeback-reversal Reverse a chargeback #

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/modulr-card-simulator-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

modulr-card-simulator-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Modulr Card Simulator API
  description: Modulr API
  license:
    name: © Modulr Finance
    url: https://www.modulrfinance.com
  version: '1.0'
servers:
- url: https://api-sandbox.modulrfinance.com/api-sandbox-token
security:
- modulo_security: []
tags:
- name: Card Simulator
  description: Cards Simulator API
paths:
  /credit-authorisations/{creditAuthId}/reverse:
    post:
      tags:
      - Card Simulator
      summary: Reverse a credit authorisation
      description: Reverse a pending credit authorisation, producing a CREDIT_AUTH_REV activity
      operationId: reverseCreditAuthorisation
      parameters:
      - name: creditAuthId
        in: path
        description: ID of the CREDIT_AUTH activity to reverse
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: X000000001
      responses:
        '204':
          description: No Content
        '400':
          description: Activity is not a CREDIT_AUTH or in PENDING status
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/cardsimulator.MessageResponse'
        '404':
          description: Activity not found
      security:
      - HMAC: []
      - TOKEN: []
  /cards/{cardId}/settlements:
    post:
      tags:
      - Card Simulator
      summary: Create a settlement without prior authorisation
      description: Submit a settlement directly to the reconciliation pipeline without a prior authorisation
      operationId: createSettlement
      parameters:
      - name: cardId
        in: path
        description: Card ID to settle against
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: V000000001
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cardsimulator.CardSettlementRequest'
        required: true
      responses:
        '201':
          description: Created
        '400':
          description: Validation errors
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/cardsimulator.MessageResponse'
        '404':
          description: Card not found
      security:
      - HMAC: []
      - TOKEN: []
  /cards/{cardId}/refunds:
    post:
      tags:
      - Card Simulator
      summary: Create a card refund
      description: Simulate a standalone refund (credit) for a card, producing a REFUND activity
      operationId: refund
      parameters:
      - name: cardId
        in: path
        description: Card id to be refund
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: V000000001
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cardsimulator.CardAuthorisationRequest'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/cardsimulator.MessageResponse'
        '404':
          description: Not Found
      security:
      - HMAC: []
      - TOKEN: []
  /cards/{cardId}/original-credits:
    post:
      tags:
      - Card Simulator
      summary: Simulate an original credit
      description: Submit card activity of type original credit
      operationId: createOriginalCredit
      parameters:
      - name: cardId
        in: path
        description: Card ID to credit
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: V000000001
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cardsimulator.CreateOriginalCreditRequest'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Validation errors
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/cardsimulator.MessageResponse'
        '404':
          description: Card not found
      security:
      - HMAC: []
      - TOKEN: []
  /cards/{cardId}/original-credits/{originalCreditActivityId}/reverse:
    post:
      tags:
      - Card Simulator
      summary: Reverse an original credit
      description: Reverse a previously applied original credit, producing an ORIGINAL_CREDIT_REVERSAL activity
      operationId: reverseOriginalCredit
      parameters:
      - name: cardId
        in: path
        description: Card ID
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: V000000001
      - name: originalCreditActivityId
        in: path
        description: ID of the ORIGINAL_CREDIT activity to reverse
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: X000000001
      responses:
        '204':
          description: No Content
        '400':
          description: Activity is not an ORIGINAL_CREDIT in APPLIED status
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/cardsimulator.MessageResponse'
        '404':
          description: Activity not found
      security:
      - HMAC: []
      - TOKEN: []
  /cards/{cardId}/offline-transactions:
    post:
      tags:
      - Card Simulator
      summary: Create an offline transaction
      description: Simulate an offline transaction for a card
      operationId: createOfflineTransaction
      parameters:
      - name: cardId
        in: path
        description: Card ID to create an offline transaction for
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: V000000001
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cardsimulator.CardSettlementRequest'
        required: true
      responses:
        '201':
          description: Created
        '400':
          description: Validation errors
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/cardsimulator.MessageResponse'
        '404':
          description: Card not found
      security:
      - HMAC: []
      - TOKEN: []
  /cards/{cardId}/expire:
    post:
      tags:
      - Card Simulator
      summary: Simulate a card expiry
      description: Simulate the GPS CARD_EXPIRY message, transitioning the card status to EXPIRED in card-service
      operationId: expireCard
      parameters:
      - name: cardId
        in: path
        description: Card ID to expire
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: V000000001
      responses:
        '204':
          description: No Content
        '400':
          description: Card is already expired
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/cardsimulator.MessageResponse'
        '404':
          description: Card not found
      security:
      - HMAC: []
      - TOKEN: []
  /cards/{cardId}/credit-authorisations:
    post:
      tags:
      - Card Simulator
      summary: Simulate a credit authorisation
      description: Submit card activity of type credit authorisation
      operationId: createCreditAuthorisation
      parameters:
      - name: cardId
        in: path
        description: Card ID
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: V000000001
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cardsimulator.CreateCreditAuthorisationRequest'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Validation errors
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/cardsimulator.MessageResponse'
        '404':
          description: Card not found
      security:
      - HMAC: []
      - TOKEN: []
  /cards/{cardId}/chargebacks:
    post:
      tags:
      - Card Simulator
      summary: Create a standalone chargeback
      description: Simulate a standalone chargeback for a card.
      operationId: createChargeback
      parameters:
      - name: cardId
        in: path
        description: Card id to chargeback
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: V000000001
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cardsimulator.CardActivityRequest'
        required: true
      responses:
        '204':
          description: Chargeback processed
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/cardsimulator.MessageResponse'
        '404':
          description: Not Found
      security:
      - HMAC: []
      - TOKEN: []
  /cards/{cardId}/authorisations:
    post:
      tags:
      - Card Simulator
      summary: Create a card authorisation
      description: Create an authorisation for a card
      operationId: createAuthorisation
      parameters:
      - name: cardId
        in: path
        description: Card ID to create an authorisation for this card
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: V000000001
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cardsimulator.CardAuthorisationRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cardsimulator.CardAuthorisationResponse'
        '400':
          description: Validation errors
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/cardsimulator.MessageResponse'
      security:
      - HMAC: []
      - TOKEN: []
  /cards/{cardId}/activities/{settlementActivityId}/chargebacks:
    post:
      tags:
      - Card Simulator
      summary: Chargeback an existing settlement
      description: Simulate a chargeback of an existing settlement activity.
      operationId: createChargebackForSettlement
      parameters:
      - name: cardId
        in: path
        description: Card id
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: V000000001
      - name: settlementActivityId
        in: path
        description: Settlement activity BID to chargeback
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: X000000001
      responses:
        '204':
          description: Chargeback processed
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/cardsimulator.MessageResponse'
        '404':
          description: The settlement activity was not found
      security:
      - HMAC: []
      - TOKEN: []
  /cards/{cardId}/account-status-inquiry:
    post:
      tags:
      - Card Simulator
      summary: Perform an account status inquiry
      description: Check whether a card is eligible for transactions without reserving funds
      operationId: performAccountStatusInquiry
      parameters:
      - name: cardId
        in: path
        description: Card ID to perform the account status inquiry against
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: V000000001
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cardsimulator.CardAccountStatusInquiryRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cardsimulator.CardAccountStatusInquiryResponse'
        '400':
          description: Validation errors
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/cardsimulator.MessageResponse'
        '404':
          description: Card not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cardsimulator.CardAccountStatusInquiryResponse'
      security:
      - HMAC: []
      - TOKEN: []
  /card-tokens/{tokenId}/devices/{deviceId}/unbind:
    post:
      tags:
      - Card Simulator
      summary: Unbind a device from a card token
      description: Simulate the removal of a device binding from a card token, marking the device as DELETED within the token record in card-service
      operationId: unbindDevice
      parameters:
      - name: tokenId
        in: path
        description: Card token ID
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: T110000001
      - name: deviceId
        in: path
        description: Device ID to unbind
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: D110000001
      - name: cardId
        in: query
        description: Card ID that owns the token
        required: true
        style: form
        explode: true
        schema:
          type: string
        example: V110000001
      responses:
        '204':
          description: Device unbound successfully
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/cardsimulator.MessageResponse'
        '404':
          description: Token or device not found
      security:
      - HMAC: []
      - TOKEN: []
  /authorisations/{authId}/settle:
    post:
      tags:
      - Card Simulator
      summary: Settle the full or partial card authorisation
      description: Settle the full card authorisation or supply an optional settlementAmount for partial settlement.
      operationId: settleAuthorisation
      parameters:
      - name: authId
        in: path
        description: Card authorisation id
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: A00000000X
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cardsimulator.CardSettlementRequest'
      responses:
        '204':
          description: Settlement processed
        '400':
          description: Validation errors or settlement amount exceeds authorised amount
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/cardsimulator.MessageResponse'
      security:
      - HMAC: []
      - TOKEN: []
  /authorisations/{authId}/reverse:
    post:
      tags:
      - Card Simulator
      summary: Reverse the card authorisation
      description: Simulate a reversal of an authorization for a card
      operationId: reverseAuthorisation
      parameters:
      - name: authId
        in: path
        description: Card authorisation id to be reversed
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: A00000000X
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cardsimulator.ReverseAuthorizationRequest'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Validation errors
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/cardsimulator.MessageResponse'
      security:
      - HMAC: []
      - TOKEN: []
  /activities/{chargebackActivityId}/resettlement:
    post:
      tags:
      - Card Simulator
      summary: Resettlement of a chargeback
      description: Simulate a resettlement (second presentment) for an existing CHARGEBACK activity, producing a RESETTLEMENT activity.
      operationId: createResettlement
      parameters:
      - name: chargebackActivityId
        in: path
        description: ID of the CHARGEBACK activity to resettle
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: X000000001
      responses:
        '204':
          description: Resettlement processed
        '400':
          description: Activity is not a CHARGEBACK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/cardsimulator.MessageResponse'
        '404':
          description: Chargeback activity not found
      security:
      - HMAC: []
      - TOKEN: []
  /activities/{chargebackActivityId}/chargeback-reversal:
    post:
      tags:
      - Card Simulator
      summary: Reverse a chargeback
      description: Simulate a chargeback reversal for an existing CHARGEBACK activity, producing a CHARGEBACK_REVERSAL activity.
      operationId: createChargebackReversal
      parameters:
      - name: chargebackActivityId
        in: path
        description: ID of the CHARGEBACK activity to reverse
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: X000000001
      responses:
        '204':
          description: Chargeback reversal processed
        '400':
          description: Activity is not a CHARGEBACK in APPLIED status
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/cardsimulator.MessageResponse'
        '404':
          description: Chargeback activity not found
      security:
      - HMAC: []
      - TOKEN: []
components:
  schemas:
    cardsimulator.CardSettlementRequest:
      type: object
      description: Optional settlement details. Omit body for full settlement.
      properties:
        transactionAmount:
          type: number
          description: The transaction amount
          example: '5.45'
        transactionCurrency:
          type: string
          description: The transaction currency
          enum:
          - GBP
          - EUR
          - AED
          - AFN
          - ALL
          - AMD
          - ANG
          - AOA
          - ARS
          - AUD
          - AWG
          - AZN
          - BAM
          - BBD
          - BDT
          - BGN
          - BHD
          - BIF
          - BMD
          - BND
          - BOB
          - BOV
          - BRL
          - BSD
          - BTN
          - BWP
          - BYN
          - BZD
          - CAD
          - CDF
          - CHE
          - CHF
          - CHW
          - CLF
          - CLP
          - CNY
          - COP
          - COU
          - CRC
          - CUC
          - CUP
          - CVE
          - CZK
          - DJF
          - DKK
          - DOP
          - DZD
          - EGP
          - ERN
          - ETB
          - FJD
          - FKP
          - GEL
          - GHS
          - GIP
          - GMD
          - GNF
          - GTQ
          - GYD
          - HKD
          - HNL
          - HRK
          - HTG
          - HUF
          - IDR
          - ILS
          - INR
          - IQD
          - IRR
          - ISK
          - JMD
          - JOD
          - JPY
          - KES
          - KGS
          - KHR
          - KMF
          - KPW
          - KRW
          - KWD
          - KYD
          - KZT
          - LAK
          - LBP
          - LKR
          - LRD
          - LSL
          - LYD
          - MAD
          - MDL
          - MGA
          - MKD
          - MMK
          - MNT
          - MOP
          - MRU
          - MUR
          - MVR
          - MWK
          - MXN
          - MXV
          - MYR
          - MZN
          - NAD
          - NGN
          - NIO
          - NOK
          - NPR
          - NZD
          - OMR
          - PAB
          - PEN
          - PGK
          - PHP
          - PKR
          - PLN
          - PYG
          - QAR
          - RON
          - RSD
          - RUB
          - RWF
          - SAR
          - SBD
          - SCR
          - SDG
          - SEK
          - SGD
          - SLE
          - SLL
          - SOS
          - SRD
          - SSP
          - STN
          - SVC
          - SYP
          - SZL
          - SHP
          - THB
          - TJS
          - TMT
          - TND
          - TOP
          - TRY
          - TTD
          - TWD
          - TZS
          - UAH
          - UGX
          - USD
          - USN
          - UYI
          - UYU
          - UYW
          - UZS
          - VES
          - VND
          - VUV
          - WST
          - XAF
          - XAG
          - XAU
          - XBA
          - XBB
          - XBC
          - XBD
          - XCD
          - XDR
          - XOF
          - XPD
          - XPF
          - XPT
          - XSU
          - XTS
          - XUA
          - XXX
          - YER
          - ZAR
          - ZMW
          - ZWL
          example: GBP
        fxRate:
          type: number
          description: The foreign exchange rate
          example: '0.8'
        mcc:
          type: string
          description: Merchant Category Code
          example: '5812'
      required:
      - fxRate
      - mcc
      - transactionAmount
      - transactionCurrency
    cardsimulator.CreateCreditAuthorisationRequest:
      type: object
      description: Details of the credit authorisation
      properties:
        transactionAmount:
          type: number
        transactionCurrency:
          type: string
          enum:
          - GBP
          - EUR
          - AED
          - AFN
          - ALL
          - AMD
          - ANG
          - AOA
          - ARS
          - AUD
          - AWG
          - AZN
          - BAM
          - BBD
          - BDT
          - BGN
          - BHD
          - BIF
          - BMD
          - BND
          - BOB
          - BOV
          - BRL
          - BSD
          - BTN
          - BWP
          - BYN
          - BZD
          - CAD
          - CDF
          - CHE
          - CHF
          - CHW
          - CLF
          - CLP
          - CNY
          - COP
          - COU
          - CRC
          - CUC
          - CUP
          - CVE
          - CZK
          - DJF
          - DKK
          - DOP
          - DZD
          - EGP
          - ERN
          - ETB
          - FJD
          - FKP
          - GEL
          - GHS
          - GIP
          - GMD
          - GNF
          - GTQ
          - GYD
          - HKD
          - HNL
          - HRK
          - HTG
          - HUF
          - IDR
          - ILS
          - INR
          - IQD
          - IRR
          - ISK
          - JMD
          - JOD
          - JPY
          - KES
          - KGS
          - KHR
          - KMF
          - KPW
          - KRW
          - KWD
          - KYD
          - KZT
          - LAK
          - LBP
          - LKR
          - LRD
          - LSL
          - LYD
          - MAD
          - MDL
          - MGA
          - MKD
          - MMK
          - MNT
          - MOP
          - MRU
          - MUR
          - MVR
          - MWK
          - MXN
          - MXV
          - MYR
          - MZN
          - NAD
          - NGN
          - NIO
          - NOK
          - NPR
          - NZD
          - OMR
          - PAB
          - PEN
          - PGK
          - PHP
          - PKR
          - PLN
          - PYG
          - QAR
          - RON
          - RSD
          - RUB
          - RWF
          - SAR
          - SBD
          - SCR
          - SDG
          - SEK
          - SGD
          - SLE
          - SLL
          - SOS
          - SRD
          - SSP
          - STN
          - SVC
          - SYP
          - SZL
          - SHP
          - THB
          - TJS
          - TMT
          - TND
          - TOP
          - TRY
          - TTD
          - TWD
          - TZS
          - UAH
          - UGX
          - USD
          - USN
          - UYI
          - UYU
          - UYW
          - UZS
          - VES
          - VND
          - VUV
          - WST
          - XAF
          - XAG
          - XAU
          - XBA
          - XBB
          - XBC
          - XBD
          - XCD
          - XDR
          - XOF
          - XPD
          - XPF
          - XPT
          - XSU
          - XTS
          - XUA
          - XXX
          - YER
          - ZAR
          - ZMW
          - ZWL
        fxRate:
          type: number
        mcc:
          type: string
      required:
      - fxRate
      - mcc
      - transactionAmount
      - transactionCurrency
    cardsimulator.CardAuthorisationRequest:
      type: object
      description: Details of the authorisation to create
      properties:
        transactionAmount:
          type: number
          description: The transaction amount
          example: '5.45'
        transactionCurrency:
          type: string
          description: The transaction currency. Defaults to the card's billing currency
          enum:
          - GBP
          - EUR
          - AED
          - AFN
          - ALL
          - AMD
          - ANG
          - AOA
          - ARS
          - AUD
          - AWG
          - AZN
          - BAM
          - BBD
          - BDT
          - BGN
          - BHD
          - BIF
          - BMD
          - BND
          - BOB
          - BOV
          - BRL
          - BSD
          - BTN
          - BWP
          - BYN
          - BZD
          - CAD
          - CDF
          - CHE
          - CHF
          - CHW
          - CLF
          - CLP
          - CNY
          - COP
          - COU
          - CRC
          - CUC
          - CUP
          - CVE
          - CZK
          - DJF
          - DKK
          - DOP
          - DZD
          - EGP
          - ERN
          - ETB
          - FJD
          - FKP
          - GEL
          - GHS
          - GIP
          - GMD
          - GNF
          - GTQ
          - GYD
          - HKD
          - HNL
          - HRK
          - HTG
          - HUF
          - IDR
          - ILS
          - INR
          - IQD
          - IRR
          - ISK
          - JMD
          - JOD
          - JPY
          - KES
          - KGS
          - KHR
          - KMF
          - KPW
          - KRW
          - KWD
          - KYD
          - KZT
          - LAK
          - LBP
          - LKR
          - LRD
          - LSL
          - LYD
          - MAD
          - MDL
          - MGA
          - MKD
          - MMK
          - MNT
          - MOP
          - MRU
          - MUR
          - MVR
          - MWK
          - MXN
          - MXV
          - MYR
          - MZN
          - NAD
          - NGN
          - NIO
          - NOK
          - NPR
          - NZD
          - OMR
          - PAB
          - PEN
          - PGK
          - PHP
          - PKR
          - PLN
          - PYG
          - QAR
          - RON
          - RSD
          - RUB
          - RWF
          - SAR
          - SBD
          - SCR
          - SDG
          - SEK
          - SGD
          - SLE
          - SLL
          - SOS
          - SRD
          - SSP
          - STN
          - SVC
          - SYP
          - SZL
          - SHP
          - THB
          - TJS
          - TMT
          - TND
          - TOP
          - TRY
          - TTD
          - TWD
          - TZS
          - UAH
          - UGX
          - USD
          - USN
          - UYI
          - UYU
          - UYW
          - UZS
          - VES
          - VND
          - VUV
          - WST
          - XAF
          - XAG
          - XAU
          - XBA
          - XBB
          - XBC
          - XBD
          - XCD
          - XDR
          - XOF
          - XPD
          - XPF
          - XPT
          - XSU
          - XTS
          - XUA
          - XXX
          - YER
          - ZAR
          - ZMW
          - ZWL
          example: GBP
        fxRate:
          type: number
          description: The foreign exchange rate to use, when transaction currency differs from billing currency. Defaults to 1.0
          example: '0.8'
        mcc:
          type: string
          description: Merchant Category Code
          example: '5812'
      required:
      - mcc
      - transactionAmount
    cardsimulator.CardAccountStatusInquiryResponse:
      type: object
      description: CardAccountStatusInquiryResponse
      properties:
        cardId:
          type: string
          description: Card Id
          example: V000000001
        status:
          type: string
          description: Account status inquiry result [APPROVED, DECLINED]
          enum:
          - APPROVED
          - DECLINED
          example: APPROVED
      required:
      - cardId
      - status
    cardsimulator.MessageResponse:
      type: object
      properties:
        field:
          type: string
        code:
          type: string
          enum:
          - GENERAL
          - BUSINESSRULE
          - MFASTATUS
          - MFAERROR
          - MFATIMEOUT
          - MFADEVICEMM
          - MFAMESSAGEINVALID
          - NOTFOUND
          - DUPLICATE
          - INVALID
          - CONNECTION
          - RETRY
          - RATELIMIT
          - PERMISSION
          - NOTACCEPTABLE
          - MFAVERIFICATION
          - TOKENEXPIRED
        errorCode:
          type: string
        message:
          type: string
        sourceService:
          type: string
    cardsimulator.ReverseAuthorizationRequest:
      type: object
      description: Partial reversal amount. Omit body for full reversal
      properties:
        reversalAmount:
          type: number
          description: Amount to reverse. If absent or equal to the open amount, a full reversal is performed. Must not exceed the open amount.
          example: '3.00'
    cardsimulator.CardAuthorisationResponse:
      type: object
      description: CardAuthorisationResponse
      properties:
        authorisationId:
          type: string
          description: Authorisation Id
          example: A00000000X
        cardId:
          type: string
          description: Card Id
          example: V000000001
        status:
          type: string
          description: Authorisation Status [APPROVED, REVERSED, SETTLED]
          enum:
          - APPROVED
          - REVERSED
          - SETTLED
          example: APPROVED
        transactionAmount:
          type: number
          description: Authorisation Transaction Amount
          example: 100
        transactionCurrency:
          type: string
          description: Currency for this transaction
          enum:
          - GBP
          - EUR
          - AED
          - AFN
          - ALL
          - AMD
          - ANG
          - AOA
          - ARS
          - AUD
          - AWG
          - AZN
          - BAM
          - BBD
          - BDT
          - BGN
          - BHD
          - BIF
          - BMD
          - BN

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/modulr/refs/heads/main/openapi/modulr-card-simulator-api-openapi.yml