Enfuce Authorisation Request API
The Authorisation Request API API from Enfuce — 1 operation(s) for authorisation request api.
The Authorisation Request API API from Enfuce — 1 operation(s) for authorisation request api.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/enfuce-authorisation-request-api-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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'