Skip to main content

Transaction Management APIs

Last updated on Apr 10, 2026 at 10:35 PM

Within the Common APIs, the Transaction Management section provides access to transaction records processed by ImPAI, together with their related messages and associated processing information.

These APIs allow authorized users to retrieve transaction data, inspect detailed transaction information, and analyze the processing lifecycle of individual transactions. In addition to the core transaction attributes, the APIs expose historical processing events, message-level audit information, and relationships to other transactions created as part of the same workflow.

The Transaction Management APIs are read-only and are designed to support operational monitoring, investigation, and integration troubleshooting.


1️⃣ List Transactions​

The Transaction List API is to be used to retrieve detailed information about specific transactions, or request a list of existing transactions.

Request Structure

❢  Query Parameters

The following request parameters can be used to filter for specific transactions:

FieldTypeRequiredDescriptionConstraints
creationAtFromStringNoFilter transactions created from this date and time onwards.ISO 8601 format
creationAtToStringNoFilter transactions created up to this date and time.ISO 8601 format
createdByStringNoFilter transactions by the name of the user who created/initiated the transaction.1-140 chars
creditorAccountStringNoFilter transactions by the creditor's International Bank Account Number (IBAN).–
creditorAgentStringNoFilter transactions by the creditor's bank BIC (Bank Identifier Code).–
creditorNameStringNoFilter transactions by the name of the payment recipient (creditor).1-140 chars
currentPageStringNoSpecify which page of results to retrieve when using pagination.Decimal char, starts from 1
Default: 1
customerIdStringNoFilter transactions by a specific customer identifier.1-36 chars
debtorAccountStringNoFilter transactions by the debtor's International Bank Account Number (IBAN).–
debtorAgentStringNoFilter transactions by the debtor's bank BIC (Bank Identifier Code).–
debtorNameStringNoFilter transactions by the name of the payment sender (debtor).1-140 chars
directionStringNoFilter transactions by payment direction relative to your institution.Enum: IN OUT
endToendIdStringNoFilter transactions by End-to-End Identification.1-36 chars
externalIdStringNoFilter transactions by external system identification.1-36 chars
globalDirectionStringNoFilter transactions by global payment direction across all systems and networks.Enum: IN OUT
globalIdStringNoFilter transactions by global identification number.1-36 chars
instructionIdStringNoFilter transactions by payment instruction identification.1-36 chars
internalIdStringNoFilter transactions by internal system identification.1-36 chars
messageIdStringNoFilter transactions by internal system identification.1-36 chars
messageStatusStringNoFilter transactions by their current message processing status.Enum: ACHConfirmed ACHFailed Accepted AMLConfirmed AMLFailed AuthorizationFailed AuthorizationPending Authorized Booked BookingFailed Pending Processed RecallRejected Recalled Received Rejected ReservationFailed Reserved Returned RoutingConfirmed RoutingFailed Sent Settled SettlementFailed Validated ValidationFailed
messageTypeStringNoFilter transactions by the type of payment message.Enum: Confirmation Credit CustomerStatus Instruction Recall Resolution Return StatusReport StatusRequest
messageVersionStringNoFilter transactions by the ISO 20022 message version/schema used.Enum: camt.029 camt.056 pacs.002 pacs.004 pacs.008 pacs.028 pain.001 pain.002
orderByStringNoSpecify the field name to sort the results by.Default: processedAt
originalAmountStringNoFilter transactions by the original transaction amount before any modifications or currency conversions.Decimal chars
originalMessageIdStringNoFilter transactions by the original message identification.1-36 chars
originalTransactionIdStringNoFilter transactions by the original transaction identification.1-36 chars
pageSizeStringNoSpecify the maximum number of transaction records to return per page.Decimal chars >= 1
Default: 15
processedAtFromStringNoFilter transactions processed from this date and time onwards.ISO 8601 format
processedAtToStringNoFilter transactions processed up to this date and time.ISO 8601 format
reasonCodeStringNoFilter transactions by the reason code associated with the transaction.1-4 chars, ISO 20022 conform
requestExecutionDateFromStringNoStart date for filtering by requested execution date.ISO 8601 format
requestExecutionDateToStringNoEnd date for filtering by requested execution date.ISO 8601 format
requestIdStringNoFilter transactions by the unique request identification.1-36 chars
settlementAmountFromStringNoFilter transactions with settlement amount greater than or equal to this value.Decimal chars
settlementAmountToStringNoFilter transactions with settlement amount less than or equal to this value.Decimal chars
settlementDateFromStringNoFilter transactions with settlement date from this date and time onwards.ISO 8601 format
settlementDateToStringNoFilter transactions with settlement date up to this date and time.ISO 8601 format
sortOrderStringNoSpecify the sort direction for the orderBy field.Default: desc
Enum: asc desc
sourceSystemStringNoFilter transactions by the source system that originated the transaction.1-50 chars
statusStringNoFilter transactions by their overall processing status.Enum: Accepted Error InPreProcessing InProcessing Pending Processed Received Rejected Settled
transactionAmountFromStringNoFilter transactions with transaction amount greater than or equal to this value.Decimal chars
transactionAmountToStringNoFilter transactions with transaction amount less than or equal to this value.Decimal chars
transactionIdStringNoFilter transactions by the unique transaction identification.1-36 chars
updatedByStringNoFilter transactions by the user or system that last updated the transaction record.1-140 chars
Response Structure
🟒 Success β€” HTTP 200

HTTP 200 – OK responses for successfully processed messages include:

GroupDescription
headerA group containing responseId, originalRequestId, responseTime
metaDataAn object containing meta information about pagination and the actual request represented by pagination.currentPage, pagination.pageSize, pagination.totalPages, pagination.totalRecords, sort.sortBy, sort.sortOrder, filters, message, and timeStamp
resultsAn array of objects, each one containing detail information about 1 transaction: createdAt, createdBy, creditorAccount, creditorAgent, creditorName, customerId, debtorAccount, debtorAgent, debtorName, direction, endToendId, externalId, globalDirection, globalId, instructionId, internalId, messageId, messageStatus, messageType, messageVersion, originalAmount, messageID, originalMessageId, originalTransactionId, processedAt, reasonCode, requestExecutionDate, requestId, settlementAmount, settlementCurrency, settlementDate, sourceSystem, status, transactionAmount, transactionCurrency, transactionId, updatedAt, updatedBy

Example(s)

{
"header": {
"originalRequestId": "ReqId-419578",
"responseId": "0a00f05f-c688-44db-b49a-af9aeed1a7ef",
"responseTime": "2025-04-14T07:30:00Z"
},
"metaData": {
"pagination": {
"currentPage": 1,
"pageSize": 10,
"totalPages": 1,
"totalRecords": 2
},
"sort": {
"orderBy": "transactionAmount",
"sortOrder": "asc"
},
"filters": { },
"message": "Successfully retrieved 2 transactions"
},
"results": [
{
"createdAt": "2025-03-31 09:01:06.543615+02",
"createdBy": "Marilyn Monroe",
"creditorAccount": "DE380019000500000000263180002",
"creditorAgent": "COBADEFFXXX",
"creditorName": "John Doe",
"customerId": "CUST001542025040300078",
"debtorAccount": "DE380019000500000000263180002",
"debtorAgent": "string",
"debtorName": "Jane Smith",
"direction": "IN",
"endToendId": "E2E001542025040300078",
"externalId": "EXT001542025040300078",
"globalDirection": "OUT",
"globalId": "GLB001542025040300078",
"instructionId": "INSTR001542025040300078",
"internalId": "INT001542025040300078",
"messageId": "MSG001542025040300078",
"messageStatus": "Settled",
"messageType": "Return",
"messageVersion": "pain.001.001.09",
"originalAmount": 100.5,
"messageID": "MSG-123456789",
"originalMessageId": "ORIG-MSG-123456789",
"originalTransactionId": "ORIG-TXN-123456789",
"processedAt": "2025-03-31 09:01:06.543615+02",
"reasonCode": "AC01",
"requestExecutionDate": "2025-03-31",
"requestId": "REQ-123456789",
"settlementAmount": 100.5,
"settlementCurrency": "EUR",
"settlementDate": "2025-03-31",
"sourceSystem": "CORE_BANKING",
"status": "InPreProcessing",
"transactionAmount": 5000.5,
"transactionCurrency": "EUR",
"transactionId": "PAI1500003315188",
"updatedAt": "2025-03-31 09:01:06.543615+02",
"updatedBy": "John Doe"
}
]
}
πŸ”΄ Error β€” HTTP 400

Responses for HTTP 400 – Bad Request errors are returned if validation or logical checks fail and include:

GroupDescription
headerResponse metadata containing responseId, originalRequestId, responseTime
errorAn object with a human-readable description in message

Example(s)

{
"header": {
"originalRequestId": "ReqId-419578",
"responseId": "0a00f05f-c688-44db-b49a-af9aeed1a7ef",
"responseTime": "2025-04-14T07:30:00Z"
},
"error": {
"message": "Invalid query parameters provided"
}
}
🟑 Error β€” HTTP 500

Responses for HTTP 500 β€” Server Error errors are returned on unexpected server-side failures and contain:

GroupDescription
errorCodeApplication-level error identifier (e.g. 500_INTERNAL_ERROR)
messageBrief description such as "Time-out" or "Something went wrong"

Example(s)

{
"errorCode": "500_INTERNAL_ERROR",
"message": "Something went wrong"
}
GET/api/common/v1/get-transactionsList available Transactions

2️⃣ Transaction Details​

The Transaction Details API is to be used to retrieve detailed information about a single specific transaction.

Request Structure

❢  Query Parameters

The following request parameter must be used to request a transaction's details:

FieldTypeRequiredDescriptionConstraints
internalIdUUIDNoInternal identification of the transaction.–
Response Structure
🟒 Success β€” HTTP 200

HTTP 200 – OK responses for successfully processed messages include:

GroupDescription
headerA group containing responseId, originalRequestId, responseTime
resultsAn array of objects, each one containing detail information about 1 account: category, entity, id, internalCode, internalId, isoCode, message, objectReference, objectReferenceType, objectType, service, severity, status, timestamp, and type

Example(s)

{
"header": {
"responseId": "0a816627-7899-49e4-ae47-c118d5e3cf50",
"origRequestId": "ReqId-419578",
"responseTime": "2025-04-14T07:30:00Z"
},
"results": [
{
"category": "errauthentication",
"entity": "PaymentService",
"id": "a6172436-4431-4dac-bad0-a943396ccb75",
"internalCode": "00T00015",
"internalId": "1d6f5c3a-02e6-4080-995a-8a81327830f6",
"isoCode": "EUR",
"message": "Transaction could not completed successfully.",
"objectReference": "PAI1500003534333",
"objectReferenceType": "GlobalId",
"objectType": "directory",
"service": "common_proc",
"severity": "fatal",
"status": "New",
"timestamp": "2025-06-12T15:04:05Z",
"type": "Technical"
}
]
}
πŸ”΄ Error β€” HTTP 400

Responses for HTTP 400 – Bad Request errors are returned if validation or logical checks fail and include:

GroupDescription
headerResponse metadata containing responseId, originalRequestId, responseTime
errorAn object with a human-readable description in message

Example(s)

{
"header": {
"originalRequestId": "ReqId-419578",
"responseId": "0a00f05f-c688-44db-b49a-af9aeed1a7ef",
"responseTime": "2025-04-14T07:30:00Z"
},
"error": {
"message": "Invalid query parameters provided"
}
}
🟑 Error β€” HTTP 500

Responses for HTTP 500 β€” Server Error errors are returned on unexpected server-side failures and contain:

GroupDescription
errorCodeApplication-level error identifier (e.g. 500_INTERNAL_ERROR)
messageBrief description such as "Time-out" or "Something went wrong"

Example(s)

{
"errorCode": "500_INTERNAL_ERROR",
"message": "Something went wrong"
}
GET/api/common/v1/get-transaction-detail/{Id}Get Transaction Details

3️⃣ Transaction History​

The Transaction History API is used to retrieve the chronological history of events and state changes associated with a specific transaction.

Request Structure

❢  Query Parameters

The following request parameter must be used to request a transaction's history:

FieldTypeRequiredDescriptionConstraints
globalIdUUIDYesGlobal identification of the transaction.–
globalDirectionStringNoGlobal direction of the transaction.Enum: IN OUT
Response Structure
🟒 Success β€” HTTP 200

HTTP 200 – OK responses for successfully processed messages include:

GroupDescription
headerA group containing responseId, originalRequestId, responseTime
resultsAn object containing detail information about the transaction: createdAt, direction, globalDirection, globalId, id, internalId, messageType, messageVersion, status

Example(s)

{
"header": {
"originalRequestId": "ReqId-419578",
"responseId": "0a00f05f-c688-44db-b49a-af9aeed1a7ef",
"responseTime": "2025-04-14T07:30:00Z"
},
"results": {
"createdAt": "2025-06-03T14:46:58Z",
"direction": "IN",
"globalDirection": "IN",
"globalId": "GLB001542025040300078",
"id": "91ac4256-8591-4205-841e-bf1dbdb1135e",
"internalId": "INT001542025040300078",
"messageType": "Confirmation",
"messageVersion": "camt.029",
"status": "Accepted"
}
}
πŸ”΄ Error β€” HTTP 400

Responses for HTTP 400 – Bad Request errors are returned if validation or logical checks fail and include:

GroupDescription
headerResponse metadata containing responseId, originalRequestId, responseTime
errorAn object with a human-readable description in message

Example(s)

{
"header": {
"originalRequestId": "ReqId-419578",
"responseId": "0a00f05f-c688-44db-b49a-af9aeed1a7ef",
"responseTime": "2025-04-14T07:30:00Z"
},
"error": {
"message": "Invalid query parameters provided"
}
}
🟑 Error β€” HTTP 500

Responses for HTTP 500 β€” Server Error errors are returned on unexpected server-side failures and contain:

GroupDescription
errorCodeApplication-level error identifier (e.g. 500_INTERNAL_ERROR)
messageBrief description such as "Time-out" or "Something went wrong"

Example(s)

{
"errorCode": "500_INTERNAL_ERROR",
"message": "Something went wrong"
}

4️⃣ Transaction Audit​

The Transaction Audit API is to be used to retrieve audit trail about a single specific transaction.

Request Structure

❢  Query Parameters

The following request parameter must be used to request a transaction's audit information:

FieldTypeRequiredDescriptionConstraints
internalIdUUIDYesInternal identification of the transaction.1-36 chars
Response Structure
🟒 Success β€” HTTP 200

HTTP 200 – OK responses for successfully processed messages include:

GroupDescription
headerA group containing responseId, originalRequestId, responseTime
metadataAn object containing meta information auditSource, message, timestamp, totalRecords, and transactionId
transactionAuditAn array of audit records for the requested transaction: data, id, operation, parentId, revision, serviceName, timestamp, and user

Example(s)

{
"header": {
"originalRequestId": "ReqId-419578",
"responseId": "0a00f05f-c688-44db-b49a-af9aeed1a7ef",
"responseTime": "2025-04-14T07:30:00Z"
},
"metaData": {
"auditSource": "TransactionAudit",
"message": "Successfully retrieved 5 audit records",
"timestamp": "2025-04-14T07:30:00Z",
"totalRecords": 5,
"transactionId": "INT001542025040300078"
},
"transactionAudit": [
{
"data": "{\"status\":\"pending\",\"amount\":1500.75}",
"id": "123e4567-e89b-12d3-a456-426614174000",
"operation": "CREATE",
"parentId": "987fcdeb-51a2-43d7-8a4f-567890123456",
"revision": 1,
"serviceName": "SCT_INST_PROC",
"timestamp": "2025-03-31T09:01:06.543615Z",
"user": "system_user"
}
]
}
πŸ”΄ Error β€” HTTP 400

Responses for HTTP 400 – Bad Request errors are returned if validation or logical checks fail and include:

GroupDescription
headerResponse metadata containing responseId, originalRequestId, responseTime
errorAn object with a human-readable description in message

Example(s)

{
"header": {
"originalRequestId": "ReqId-419578",
"responseId": "0a00f05f-c688-44db-b49a-af9aeed1a7ef",
"responseTime": "2025-04-14T07:30:00Z"
},
"error": {
"message": "Invalid query parameters provided"
}
}
🟑 Error β€” HTTP 500

Responses for HTTP 500 β€” Server Error errors are returned on unexpected server-side failures and contain:

GroupDescription
errorCodeApplication-level error identifier (e.g. 500_INTERNAL_ERROR)
messageBrief description such as "Time-out" or "Something went wrong"

Example(s)

{
"errorCode": "500_INTERNAL_ERROR",
"message": "Something went wrong"
}
GET/api/common/v1/get-transaction-audit/{Id}Fetch Transaction Audit Trail

The Transaction Details API is to be used to retrieve detailed information about a single specific transaction.

Request Structure

❢  Query Parameters

The following request parameter must be used to request a transaction's details:

FieldTypeRequiredDescriptionConstraints
globalIdUUIDYesGlobal identification of the transaction.1-36 chars
internalIdUUIDYesInternal identification of the transaction.1-36 chars
globalDirectionStringYesGlobal direction of the transaction.Enum: IN OUT
Response Structure
🟒 Success β€” HTTP 200

HTTP 200 – OK responses for successfully processed messages include:

GroupDescription
headerA group containing responseId, originalRequestId, responseTime
resultsAn array of objects, each one containing detail information about one related message: createdAt, createdBy, creditorAccount, creditorAgent, creditorName, customerId, debtorAccount, debtorAgent, debtorName, direction, endToendId, externalId, globalDirection, globalId, instructionId, internalId, messageId, messageStatus, messageType, messageVersion, originalAmount, originalMessageId, originalTransactionId, processedAt, reasonCode, requestExecutionDate, requestId, settlementAmount, settlementCurrency, settlementDate, sourceSystem, status, transactionAmount, transactionCurrency, transactionId, updatedAt, and updatedBy

Example(s)

{
"header": {
"responseId": "0a00f05f-c688-44db-b49a-af9aeed1a7ef",
"originalRequestId": "ReqId-419578",
"responseTime": "2025-04-14T07:30:00Z"
},
"results": [
{
"createdAt": "2025-03-31 09:01:06.543615+02",
"createdBy": "Marilyn Monroe",
"creditorAccount": "DE380019000500000000263180002",
"creditorAgent": "COBADEFFXXX",
"creditorName": "John Doe",
"customerId": "CUST001542025040300078",
"debtorAccount": "DE380019000500000000263180002",
"debtorAgent": "string",
"debtorName": "Jane Smith",
"direction": "IN",
"endToendId": "E2E001542025040300078",
"externalId": "EXT001542025040300078",
"globalDirection": "OUT",
"globalId": "GLB001542025040300078",
"instructionId": "INSTR001542025040300078",
"internalId": "INT001542025040300078",
"messageId": "MSG001542025040300078",
"messageStatus": "Settled",
"messageType": "Return",
"messageVersion": "pain.001.001.09",
"originalAmount": 100.5,
"originalMessageId": "ORIG-MSG-123456789",
"originalTransactionId": "ORIG-TXN-123456789",
"processedAt": "2025-03-31 09:01:06.543615+02",
"reasonCode": "AC01",
"requestExecutionDate": "2025-03-31",
"requestId": "REQ-123456789",
"settlementAmount": 100.5,
"settlementCurrency": "EUR",
"settlementDate": "2025-03-31",
"sourceSystem": "CORE_BANKING",
"status": "InPreProcessing",
"transactionAmount": 5000.5,
"transactionCurrency": "EUR",
"transactionId": "PAI1500003315188",
"updatedAt": "2025-03-31 09:01:06.543615+02",
"updatedBy": "John Doe"
}
]
}
πŸ”΄ Error β€” HTTP 400

Responses for HTTP 400 – Bad Request errors are returned if validation or logical checks fail and include:

GroupDescription
headerResponse metadata containing responseId, originalRequestId, responseTime
errorAn object with a human-readable description in message

Example(s)

{
"header": {
"originalRequestId": "ReqId-419578",
"responseId": "0a00f05f-c688-44db-b49a-af9aeed1a7ef",
"responseTime": "2025-04-14T07:30:00Z"
},
"error": {
"message": "Invalid query parameters provided"
}
}
🟑 Error β€” HTTP 500

Responses for HTTP 500 β€” Server Error errors are returned on unexpected server-side failures and contain:

GroupDescription
errorCodeApplication-level error identifier (e.g. 500_INTERNAL_ERROR)
messageBrief description such as "Time-out" or "Something went wrong"

Example(s)

{
"errorCode": "500_INTERNAL_ERROR",
"message": "Something went wrong"
}

Summary β€” Transaction Management​

The Transaction Management section exposes several complementary endpoints:

  • Transaction List API β€” Retrieve a list of transactions with filtering options based on identifiers, status, scheme, or time range.
  • Transaction Details API β€” Retrieve detailed information for a specific transaction.
  • Transaction History API β€” Retrieve the chronological history of processing events and state changes for a transaction.
  • Transaction Audit API β€” Retrieve the message-level audit trail recorded during transaction processing.
  • Related Transactions API β€” Retrieve transactions that are logically related within the same processing workflow.

Together, these APIs provide:

  • A centralized view of transactions processed by ImPAI,
  • Detailed insight into transaction data and processing state,
  • Access to historical processing events and audit information,
  • Visibility into relationships between transactions within a workflow.

The functionality is purely informational and does not modify transaction state or message data.