Enfuce Authorisation Request API

The Authorisation Request API API from Enfuce — 1 operation(s) for authorisation request api.

Operations 1

POST /auth Authorisation Request API #

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/enfuce-authorisation-request-api-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

enfuce-authorisation-request-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Enfuce Authorisation Request Authorisation Request API
  description: Authorisation Request API gives the issuer/ledger the flexibility to create sophisticated rules for approving and declining transactions in real time.
  version: 1.0.0
servers:
- url: https://api.{{tenant}}.ext-uat1-sandbox.mycore.enfuce.com/processor
  description: UAT Sandbox
- url: https://api.{{tenant}}.eu.live.prod.mycore.enfuce.com/processor
  description: Production
tags:
- name: Authorisation Request API
paths:
  /auth:
    post:
      tags:
      - Authorisation Request API
      summary: Authorisation Request API
      description: Enfuce sends an authorisation request to the issuer/ledger, when it expects an authorisation decision from the recipient.
      operationId: authPost
      requestBody:
        $ref: '#/components/requestBodies/authRequestBody'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/authResponseBody'
components:
  schemas:
    approvedTransaction:
      allOf:
      - $ref: '#/components/schemas/transaction'
      - type: object
        properties:
          transactionType:
            $ref: '#/components/schemas/transactionType'
          approvedAmount:
            allOf:
            - $ref: '#/components/schemas/money'
            description: 'Amount approved at the current payment processing stage; the amount might be further reduced in the subsequent stages, when the Ledger performs additional validations.

              If any issuer transaction fee is applied (see the issuerTransactionFees field), the approvedAmount also includes those fees.

              '
            title: money
          processedDateTime:
            type: string
            format: date-time
            example: '2099-12-31T03:00:00.000Z'
            description: Time when processed by Enfuce.
    money:
      description: Amount including currency.
      type: object
      required:
      - amount
      - currency
      properties:
        amount:
          type: number
          example: 3.14
        currency:
          $ref: '#/components/schemas/currency'
    transaction:
      type: object
      properties:
        authCode:
          type: string
          pattern: '[0-9]{6}'
          description: 'Enfuce generated code/number (6-digits)— returned to the merchant when authorisation is approved.  In case of scheme advices, this is generated and transmitted by the scheme.

            '
        authValidity:
          type: integer
          description: 'Number of days the authorisation is valid (applicable when merchants requests for extended authorisation period, longer than the default 7 days).

            '
        billingAmount:
          allOf:
          - $ref: '#/components/schemas/money'
          description: 'Transaction amount in the currency of the ledger account (associated with the card).

            If any issuer transaction fee is applied (see the issuerTransactionFees field),

            the billingAmount also includes those fees.

            '
          title: money
        transactionAmount:
          allOf:
          - $ref: '#/components/schemas/money'
          description: The transaction amount in the local currency of the acquirer or the merchant, where the transaction occurred.
          title: money
        cashbackAmount:
          allOf:
          - $ref: '#/components/schemas/money'
          description: The cashback portion of a purchase with cashback, in the currency provided by the payment scheme.
          title: money
        settlementAmount:
          allOf:
          - $ref: '#/components/schemas/money'
          description: 'The amount of funds transferred between the acquirer and the issuer, equal to the `transactionAmount`, in the settlement currency.

            '
          title: money
        acquirerTransactionFeeAmount:
          allOf:
          - $ref: '#/components/schemas/money'
          description: Fee charged (for example, by the acquirer) for transaction activity.
          title: money
        issuerTransactionFees:
          type: array
          items:
            $ref: '#/components/schemas/transactionFee'
        cardholderVerificationMethods:
          type: array
          items:
            $ref: '#/components/schemas/cardholderVerificationMethod'
        retrievalReferenceNumber:
          type: string
          description: Merchant/acquirer generated transaction reference number.
        cardEntryMode:
          $ref: '#/components/schemas/cardEntryMode'
        cardholderPresent:
          type: boolean
          description: Indicates whether the cardholder is physically present during transaction.
        cardPresent:
          type: boolean
          description: Indicates whether the card is present at the point of service.
        merchantInitiated:
          type: boolean
          description: "Indicates whether the transaction is a recurring payment or merchant initiated. \nThis implies whether the cardholder has approved the merchant initiated transaction.\n"
        transactionDateTime:
          type: string
          format: local-date-time
          example: '2099-12-31T03:00:00.000'
          description: Date and time in the time zone where the transaction occurred.
        originalTransactionId:
          type: string
          description: This value is present only for recurring transaction, and it's value is first original authorisation request in the chain.
    transactionType:
      type: string
      format: enum
      description: The transaction Type
      enum:
      - RETAIL
      - ATM
      - UNIQUE
      - CASH_DISBURSEMENT
      - CREDIT
      - ORIGINAL_CREDIT
      - BALANCE_INQUIRY
      - P2P_DEBIT
      - P2P_CREDIT
      - PIN_CHANGE
      - PIN_UNBLOCK
      - CASHBACK
      - CONVENIENCE_CHECK
      - BALANCE_TRANSFER
      - REVERSAL
      - AFT
    authResponseBody:
      type: object
      required:
      - authResponseCode
      properties:
        authResponseCode:
          $ref: '#/components/schemas/authResponseCode'
        account:
          $ref: '#/components/schemas/account'
        partialApprovalAmount:
          allOf:
          - $ref: '#/components/schemas/money'
          description: "Return when there is a partial approval.\nWhen the balance is less than the transaction amount, return the available amount that you authorise.\nReturn this attribute only when in the request `merchant.partialApprovalCapable` is true (i.e. the merchant \napproves that a smaller amount than the full transaction amount is authorised), and `authResponseCode` \nshould be `PARTIALLY_APPROVED`. \n"
          title: money
    account:
      type: object
      required:
      - availableAmount
      properties:
        availableAmount:
          allOf:
          - $ref: '#/components/schemas/money'
          description: Available amount before this transaction has been processed.
          title: money
    country:
      type: string
      description: A valid ISO-3166-1 alpha-3 country code.
      pattern: '[A-Z]{3}'
      example: FIN
    token:
      type: object
      description: Information about the token associated with the card.
      properties:
        id:
          type: string
        walletIdentifier:
          type: string
          description: Identifies the specific digital wallet.
          enum:
          - MASTERPASS
          - APPLE_PAY
          - GOOGLE_PAY
          - SAMSUNG_PAY
          - REMOTE_COMMERCE_PROGRAMS
    card:
      type: object
      description: Information about the card used for the payment.
      properties:
        id:
          type: string
          format: uuid
          description: 'Enfuce generated unique ID assigned to each card used — enables you to identify the card that you must authorise.

            '
        expirationDate:
          allOf:
          - $ref: '#/components/schemas/expiration'
          description: Card expiration date as received in the scheme message.
          title: expiration
        sequenceNumber:
          type: integer
          minimum: 0
          description: Card sequence number as received in the scheme message.
        accountId:
          type: string
          pattern: '[a-zA-Z0-9-]{1,36}'
          description: Ledger provided account ID associated with the card.
        cardholderId:
          type: string
          format: uuid
          description: Unique ID of the cardholder associated with the card.
        groups:
          type: array
          items:
            type: object
            required:
            - groupId
            properties:
              groupId:
                type: string
                description: Unique ID assigned to the parent card group.
          description: Information about any parent card group associated with the card.
        applicationSelection:
          type: string
          enum:
          - DEBIT
          - CREDIT
          description: The type of card application used for the transaction.
    merchant:
      type: object
      properties:
        id:
          type: string
          description: ID assigned code each card acceptor, i.e. a merchant or a bank.
        name:
          type: string
          description: Merchant name as received from the card scheme. For ATMs, this can be a street address or a bank branch number.
        city:
          type: string
          description: The city where the transaction/withdrawal has occurred or where the merchant is registered.
        country:
          allOf:
          - $ref: '#/components/schemas/country'
          description: The country where the transaction/withdrawal has occurred or where the merchant is registered.
        zipCode:
          type: string
          description: The merchant's postal code.
        address:
          type: string
          description: Contains the merchant's street address.
        category:
          type: object
          properties:
            code:
              type: string
              description: 'Merchant category code as per the card scheme classification. Categorisation is done based on the type of business or service the merchant provides.

                '
            description:
              type: string
              description: Description of the Merchant Category Code (MCC).
            group:
              type: string
              description: Merchant Category Code (MCC) group as received from the scheme.
        terminalId:
          type: string
          description: Uniquely ID assigned to each terminal used by the merchant.
        subMerchantId:
          type: string
          description: 'The sub-merchant ID is used when merchant ID is not adequate to identify the merchant.  Used when a merchant uses a payment facilitator.

            '
        partialApprovalCapable:
          type: boolean
          description: "Indicates whether the merchant is capable of accepting partial approval of an amount:\n  - TRUE: Specifies `TRUE` if the merchant accepts partial approval.\n  - FALSE: Specifies `FALSE` if the merchant does not accept partial approval.\n"
        acquirerId:
          type: string
          description: Unique ID assigned to the financial institution acting as the merchant's acquirer.
        acquirerCountry:
          allOf:
          - $ref: '#/components/schemas/country'
          description: The country of the merchant's acquirer — mention the ISO-3166-1 alpha-3 country code.
        acquirerReferenceData:
          type: string
          description: 'Data an acquirer supplies in an acquirer-originated message, might be required for the issuer  to return to the acquirer in a subsequent message.

            '
    currency:
      type: string
      description: A valid ISO 4217 currency code
      pattern: '[A-Z]{3}'
      example: EUR
    transactionId:
      type: string
      format: uuid
      description: 'Enfuce generated unique ID assigned to each card transaction. Transaction events for the same card payment includes the same `transactionId`.  For example, authorisation, incremental authorisation, and adjustment for the same transaction includes the same `transactionID`.

        '
    cardEntryMode:
      type: string
      format: enum
      description: Describes how the card credentials were captured.
      enum:
      - CHIP
      - CHIP_CONTACTLESS
      - MAGNETIC_STRIPE
      - MANUAL_ENTRY
      - WALLET_CONTACTLESS
      - ECOMMERCE
      - WALLET_ECOMMERCE
      - CREDENTIALS_ON_FILE
      - UNKNOWN
    authRequestBody:
      allOf:
      - $ref: '#/components/schemas/authorizationMetadata'
      - type: object
        required:
        - card
        - merchant
        - transaction
        properties:
          token:
            $ref: '#/components/schemas/token'
          card:
            $ref: '#/components/schemas/card'
          merchant:
            $ref: '#/components/schemas/merchant'
          transaction:
            allOf:
            - $ref: '#/components/schemas/approvedTransaction'
            title: transaction
    id:
      type: string
      format: uuid
      description: 'Unique system generated ID assigned to each event in the payment processing workflow. For example, an ID assigned to the initial authorisation event.

        '
    messageFunctionAuthorization:
      type: string
      format: enum
      description: Identifies the message function of the authorisation request.
      enum:
      - REQUEST
    expiration:
      type: object
      required:
      - year
      - month
      properties:
        year:
          type: integer
          format: int32
          description: Expiration year in YYYY format.
          example: 2024
        month:
          type: integer
          format: int32
          description: Expiration month in MM format.
          example: 1
      title: expiration
    authResponseCode:
      type: string
      format: enum
      enum:
      - APPROVED
      - PARTIALLY_APPROVED
      - DO_NOT_HONOR
      - NOT_SUFFICIENT_FUNDS
      - NOT_PERMITTED
      - EXCEEDS_AMOUNT_LIMIT
      - RESTRICTED_CARD
      - EXCEEDS_WITHDRAWAL_FREQUENCY_LIMIT
      - SYSTEM_ERROR
      description: "Indicates whether the authorisation request is approved or declined. \nPossible enums:\n  * `APPROVED` - Approved\n  * `PARTIALLY_APPROVED` - Approved for partial amount\n  * `DO_NOT_HONOR` - Do not honor (**Note**: Card schemes recommend to use this only when other options do not apply)\n  * `NOT_SUFFICIENT_FUNDS` - Inadequate funds\n  * `NOT_PERMITTED` - Transaction not permitted to cardholder\n  * `EXCEEDS_AMOUNT_LIMIT` - Exceeds approval amount limit\n  * `RESTRICTED_CARD` - Restricted card (card invalid in region or country)\n  * `EXCEEDS_WITHDRAWAL_FREQUENCY_LIMIT` - Exceeds withdrawal frequency limit\n  * `SYSTEM_ERROR` - System malfunction\n"
    cardholderVerificationMethod:
      type: string
      format: enum
      description: 'The method used for verifying the cardholder:

        - PIN_VERIFIED_BY_CARD: The card''s PIN is verified.

        - PIN_VERIFIED_BY_ISSUER: The card''s PIN is verified by issuer.

        - WALLET: The cardholder is verified by the digital wallet.

        - THREE_DS: The cardholder is 3DS authenticated.

        - BIOMETRIC: The cardholder is verified by biometrics data.

        - SIGNATURE: The cardholder''s signature verified.

        - NO_VERIFICATION: No verification is performed.

        '
      enum:
      - PIN_VERIFIED_BY_CARD
      - PIN_VERIFIED_BY_ISSUER
      - WALLET
      - THREE_DS
      - BIOMETRIC
      - SIGNATURE
      - NO_VERIFICATION
    transactionFee:
      type: object
      properties:
        type:
          type: string
          format: enum
          description: 'Type of Issuer generated transaction fee in cardholder billing currency.  Transaction based fees that are additional fees charged on top of the transaction.

            '
          enum:
          - CASH_FEE
          - ATM_FEE
          - MARKUP_FEE
        amount:
          allOf:
          - $ref: '#/components/schemas/money'
          description: Transaction fee amount in cardholder billing currency.
          title: money
    messageCategoryAuthorization:
      type: string
      format: enum
      description: "Message category sent in the authorisation control webhook. Possible enums:\n  - INITIAL_AUTHORIZATION: Initial authorisation of the card payment.\n  - INCREMENTAL_AUTHORIZATION: Additional authorisation for a previously authorised transaction.\n  - BALANCE_INQUIRY: Enquiring about the current balance of the funding account from the external application.\n  - PIN_MANAGEMENT: Request to change the card PIN.\n"
      enum:
      - INITIAL_AUTHORIZATION
      - INCREMENTAL_AUTHORIZATION
      - BALANCE_INQUIRY
      - PIN_MANAGEMENT
    authorizationMetadata:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/id'
        transactionId:
          $ref: '#/components/schemas/transactionId'
        messageCategory:
          allOf:
          - $ref: '#/components/schemas/messageCategoryAuthorization'
          title: messageCategory
        messageFunction:
          allOf:
          - $ref: '#/components/schemas/messageFunctionAuthorization'
          title: messageFunction
  requestBodies:
    authRequestBody:
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/authRequestBody'