# List transactions (transaction banking)
Lists transactions of your transaction banking account.
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"info": {
"title": "Banking - Transaction banking",
"version": "0.9.0",
"description": "Transaction banking API",
"contact": {
"name": "API Support",
"url": "https://developers.pismo.io/support/"
},
"license": {
"name": "Copyright Pismo"
}
},
"servers": [
{
"url": "https://sandbox.pismolabs.io",
"description": "Sandbox API server for testing"
}
],
"security": [
{
"BearerAuth": []
}
],
"tags": [
{
"name": "Transactions",
"description": "Transaction endpoints"
}
],
"components": {
"parameters": {
"AuthorizationIdQuery": {
"name": "authorizationId",
"in": "query",
"description": "Authorization ID",
"schema": {
"type": "integer",
"format": "int64"
},
"required": false,
"deprecated": true,
"example": 78
},
"AuthorizationTrackingIdQuery": {
"name": "authorizationTrackingId",
"in": "query",
"description": "Authorization tracking ID",
"schema": {
"type": "string"
},
"required": false,
"example": "68ea7e26-e506-11ed-b5ea-0242ac120002"
},
"AuthorizationTypeQuery": {
"name": "authorizationType",
"in": "query",
"description": "Authorization type",
"schema": {
"type": "string",
"enum": [
"PLATFORM",
"NETWORK"
]
},
"required": false,
"example": "PLATFORM"
},
"CreditQuery": {
"name": "credit",
"in": "query",
"description": "Show only credit (`true`) or debit (`false`) transactions.",
"schema": {
"type": "boolean"
},
"required": false,
"example": true
},
"CustomerIdQuery": {
"name": "customerId",
"in": "query",
"description": "Customer ID",
"schema": {
"type": "integer",
"format": "int64"
},
"required": false,
"example": 4321
},
"EventDateEndQuery": {
"name": "eventDateEnd",
"in": "query",
"description": "End of event date period. Format = yyyy-mm-dd:hr:mm:ss.",
"schema": {
"type": "string",
"format": "date-time"
},
"required": false,
"example": "2023-04-27T13:00:00Z"
},
"EventDateStartQuery": {
"name": "eventDateStart",
"in": "query",
"description": "Start of event date period. Format = yyyy-mm-dd:hr:mm:ss.",
"schema": {
"type": "string",
"format": "date-time"
},
"required": false,
"example": "2023-04-27T12:00:00Z"
},
"IDsQuery": {
"name": "ids",
"in": "query",
"description": "Array of transaction IDs",
"schema": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"minItems": 1,
"maxItems": 100
},
"required": false,
"example": [
1,
2,
3,
4,
5,
6
]
},
"LimitQuery3": {
"name": "limit",
"in": "query",
"description": "Maximum number of items per page. Defaults to `10`",
"schema": {
"type": "integer",
"format": "int32",
"default": 10,
"maximum": 100
},
"required": false,
"example": 100
},
"numberOfLatestTransactionsQuery": {
"name": "numberOfLatestTransactions",
"in": "query",
"description": "Number of latest transactions. Get the latest transactions based on the date specified in the `event_date` field. Note that this filter overwrites page filters and doesn't allow any other filters.",
"schema": {
"type": "integer",
"format": "int64",
"minimum": 1,
"maximum": 500
},
"example": 10
},
"OffsetQuery": {
"name": "offset",
"in": "query",
"description": "Starting point for the results list. Default is `0`",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 0,
"minimum": 0
},
"example": 1
},
"OrderQuery": {
"name": "order",
"in": "query",
"description": "Order of the result list. The results are always ordered by transaction date. This param indicates whether the order is ascending ('asc') or descending ('desc').",
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"required": false,
"example": "asc"
},
"PaymentIdMethodQuery": {
"name": "paymentMethodId",
"in": "query",
"description": "Payment method ID",
"schema": {
"type": "string"
},
"required": false,
"example": "MASTERCARD"
},
"ProcessingCodeQuery": {
"name": "processingCode",
"in": "query",
"description": "Processing code used to create the transaction",
"schema": {
"type": "string"
},
"required": false,
"example": "219248"
},
"StatementIdQuery": {
"name": "statementId",
"in": "query",
"description": "Statement ID",
"schema": {
"type": "integer",
"format": "int64"
},
"required": false,
"example": 1234
},
"StatementPostQuery": {
"name": "statementPost",
"in": "query",
"description": "Filter transactions posted to the statement.",
"schema": {
"type": "boolean"
},
"required": false,
"example": true
},
"TransactionTypeIdQuery": {
"name": "transactionTypeId",
"in": "query",
"description": "Transaction type ID",
"schema": {
"type": "integer",
"format": "int64"
},
"required": false,
"example": 5678
},
"UserCategoryQuery": {
"name": "userCategory",
"in": "query",
"description": "User category",
"schema": {
"type": "string"
},
"required": false,
"example": "RETAIL"
}
},
"schemas": {
"AccountID": {
"type": "integer",
"format": "int64",
"description": "Account ID",
"example": 1234
},
"Amount": {
"type": "object",
"description": "Amount",
"properties": {
"value": {
"$ref": "#/components/schemas/AmountValue"
},
"currency": {
"$ref": "#/components/schemas/Currency"
}
},
"required": [
"value"
]
},
"AmountValue": {
"type": "number",
"format": "float",
"description": "Amount value",
"exclusiveMinimum": false,
"minimum": 0,
"maximum": 100000000000000000,
"example": 1000.52
},
"Authorization": {
"type": "object",
"description": "Authorization",
"properties": {
"id": {
"$ref": "#/components/schemas/AuthorizationID"
},
"type": {
"$ref": "#/components/schemas/AuthorizationType"
},
"code": {
"$ref": "#/components/schemas/AuthorizationCode"
},
"payment_method_id": {
"$ref": "#/components/schemas/PaymentMethod"
},
"tracking_id": {
"$ref": "#/components/schemas/TrackingID"
}
}
},
"AuthorizationCode": {
"type": "string",
"description": "Authorization code or network approval code",
"example": "1234"
},
"AuthorizationID": {
"type": "integer",
"format": "int64",
"description": "Authorization ID",
"example": 5678
},
"AuthorizationType": {
"type": "string",
"enum": [
"PLATFORM",
"NETWORK"
],
"description": "Authorization type",
"example": "PLATFORM"
},
"Currency": {
"type": "string",
"description": "3-letter code in ISO 4217-compliant format for the currency used in the transaction.",
"maxLength": 3,
"minLength": 3,
"example": "USD"
},
"ErrorCode": {
"description": "Error code\n`minLength: 1`\n`maxLength: 12`\n",
"type": "string",
"minLength": 1,
"maxLength": 12,
"example": "WPMT0017"
},
"ErrorMessage": {
"description": "Error message\n`minLength: 1`\n`maxLength: 1000`\n",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"example": "Invalid JSON payload received: Error unmarshalling request"
},
"ErrorResponse": {
"type": "object",
"properties": {
"code": {
"$ref": "#/components/schemas/ErrorCode"
},
"message": {
"$ref": "#/components/schemas/ErrorMessage"
}
}
},
"EventDate": {
"type": "string",
"format": "date-time",
"description": "Event date in format ISO 8601.",
"example": "2023-04-27T12:01:24Z"
},
"ExternalAccountID": {
"maxLength": 60,
"type": "string",
"pattern": "^[a-zA-Z0-9-]+$",
"description": "Custom account ID. Used as the key for all operations (manage accounts, transactions, etc.) on the corporate layer.\n\nThis field is:\n- Unique within the Organization\n- Immutable: The field cannot be updated.\n- Not recyclable: You can't reuse an external account ID, even if the account that was using it has been canceled.\n",
"example": "b993ba96-b3e8-4ef7-9cf7-7eee5ddafdab"
},
"HasNext": {
"type": "boolean",
"description": "Whether there are more pages after the current page (`true`) or not (`false`).",
"example": true
},
"IsCredit": {
"type": "boolean",
"description": "Is the transaction a credit (`true`) or debit (`false`)?",
"example": true
},
"ListTransactionsResponse": {
"title": "ListTransactionsResponse",
"type": "object",
"properties": {
"transactions": {
"type": "array",
"description": "List of transactions",
"items": {
"$ref": "#/components/schemas/TransactionResponse"
}
},
"pagination": {
"$ref": "#/components/schemas/OffsetPagination"
}
}
},
"MaxItemsPerPage": {
"type": "integer",
"format": "int32",
"description": "Maximum number of items per page",
"example": 10
},
"Metadata": {
"type": "object",
"description": "Key-value pairs containing data intended for storage in the Pismo system.
\nNOTES:\n- The `metadata` field includes a `corporate_metadata` object with the following fields:\n - `credit_external_account_id`: Included in the `corporate_metadata` field when it's provided in the credit leg.\n - `debit_external_account_id`: Included in the `corporate_metadata` field when it's provided in the debit leg.\n - `earmark_id`: Included in the `corporate_metadata` field when it's provided in the debit leg.\n- The `corporate_metadata` attribute must be an object. A type mismatch results in an error as mapped in the responses section.\n",
"example": {
"my-id": 2932
}
},
"Offset": {
"type": "integer",
"format": "int32",
"description": "Starting index of the result list. Default is 0.",
"example": 10
},
"OffsetPagination": {
"type": "object",
"description": "Data related to list pagination using an offset parameter",
"properties": {
"has_next": {
"$ref": "#/components/schemas/HasNext"
},
"limit": {
"$ref": "#/components/schemas/MaxItemsPerPage"
},
"offset": {
"$ref": "#/components/schemas/Offset"
}
}
},
"PaymentDatetime": {
"type": "string",
"format": "date-time",
"description": "Date and time of the payment. Specifying a `payment_datetime` value impacts the account balance history.
\nNotes:\n - The payment datetime is in ISO 8601 format.\n - You can backdate payments a maximum of 390 calendar days. You can postdate payments a maximum of 10 calendar days.\n",
"example": "2023-03-10T19:05:56.743Z"
},
"PaymentMethod": {
"type": "string",
"description": "Payment method",
"example": "MASTERCARD"
},
"PostedTransaction": {
"type": "boolean",
"description": "Are transactions posted on statements?",
"example": false
},
"ProcessingCodeDescription": {
"type": "string",
"description": "Processing code description",
"example": "Hold Funds"
},
"ProgramID3": {
"type": "integer",
"format": "int64",
"description": "Program ID. This is a client-provided ID.",
"example": 2222
},
"ProcessingCode": {
"type": "string",
"description": "Processing code used to create the underlying transaction. Each internal operation type uses a default processing code.
\n`minLength: 1`\n`maxLength: 6`\n",
"minLength": 1,
"maxLength": 6,
"example": "219248"
},
"SoftDescriptor": {
"type": "string",
"description": "Brief description that helps to identify a particular transaction on the bank statement.",
"example": "ACME Inc. - Invoice 2938",
"maxLength": 100,
"minLength": 0
},
"TrackingID": {
"type": "string",
"description": "A unique payment tracking number provided by the client. If an existing `tracking_id` already exists in the system, the API returns a `409` error.\n\nThis field is:\n - Unique within the Organization.\n - Immutable — It can't be updated.\n - Not recyclable — You can't reuse a `tracking_id`.\n",
"minLength": 1,
"maxLength": 43,
"example": "0a50c88a-ade8-4bcc-a639-9a0b0f11e244"
},
"TransactionCreatedAt": {
"type": "string",
"format": "date-time",
"description": "Transaction creation date in format ISO 8601",
"example": "2023-04-27T12:01:24Z"
},
"TransactionID": {
"type": "integer",
"format": "int64",
"description": "Transaction ID",
"example": 1111
},
"TransactionResponse": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/TransactionID"
},
"program_id": {
"$ref": "#/components/schemas/ProgramID3"
},
"account_id": {
"$ref": "#/components/schemas/AccountID"
},
"external_account_id": {
"$ref": "#/components/schemas/ExternalAccountID"
},
"soft_descriptor": {
"$ref": "#/components/schemas/SoftDescriptor"
},
"processing_code": {
"$ref": "#/components/schemas/ProcessingCode"
},
"processing_description": {
"$ref": "#/components/schemas/ProcessingCodeDescription"
},
"amount": {
"$ref": "#/components/schemas/Amount"
},
"event_date": {
"$ref": "#/components/schemas/EventDate"
},
"payment_date": {
"$ref": "#/components/schemas/PaymentDatetime"
},
"created_at": {
"$ref": "#/components/schemas/TransactionCreatedAt"
},
"transaction_type": {
"$ref": "#/components/schemas/TransactionType"
},
"authorization": {
"$ref": "#/components/schemas/Authorization"
},
"metadata": {
"$ref": "#/components/schemas/Metadata"
}
}
},
"TransactionType": {
"type": "object",
"description": "Transaction type",
"properties": {
"id": {
"$ref": "#/components/schemas/TransactionTypeID"
},
"description": {
"$ref": "#/components/schemas/TransactionTypeDescription"
},
"credit": {
"$ref": "#/components/schemas/IsCredit"
},
"posted_transaction": {
"$ref": "#/components/schemas/PostedTransaction"
}
}
},
"TransactionTypeDescription": {
"type": "string",
"description": "Transaction type description",
"maxLength": 30,
"example": "Purchase"
},
"TransactionTypeID": {
"type": "integer",
"format": "int64",
"description": "Transaction type ID",
"example": 2345
}
},
"responses": {
"500InternalServer": {
"description": "Internal Server Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
},
"examples": {
"Generic internal error": {
"value": {
"code": "ECMN9999",
"message": "Internal error"
}
}
}
}
}
}
},
"securitySchemes": {
"BearerAuth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
}
}
},
"paths": {
"/corporate/v1/corporate-transactions": {
"get": {
"summary": "List transactions (transaction banking)",
"description": "Lists transactions of your transaction banking account.",
"operationId": "get-corporate-transactions",
"tags": [
"Transactions"
],
"parameters": [
{
"$ref": "#/components/parameters/OffsetQuery"
},
{
"$ref": "#/components/parameters/LimitQuery3"
},
{
"$ref": "#/components/parameters/StatementIdQuery"
},
{
"$ref": "#/components/parameters/CustomerIdQuery"
},
{
"$ref": "#/components/parameters/TransactionTypeIdQuery"
},
{
"$ref": "#/components/parameters/ProcessingCodeQuery"
},
{
"$ref": "#/components/parameters/CreditQuery"
},
{
"$ref": "#/components/parameters/StatementPostQuery"
},
{
"$ref": "#/components/parameters/AuthorizationIdQuery"
},
{
"$ref": "#/components/parameters/AuthorizationTypeQuery"
},
{
"$ref": "#/components/parameters/EventDateStartQuery"
},
{
"$ref": "#/components/parameters/EventDateEndQuery"
},
{
"$ref": "#/components/parameters/OrderQuery"
},
{
"$ref": "#/components/parameters/AuthorizationTrackingIdQuery"
},
{
"$ref": "#/components/parameters/IDsQuery"
},
{
"$ref": "#/components/parameters/UserCategoryQuery"
},
{
"$ref": "#/components/parameters/PaymentIdMethodQuery"
},
{
"$ref": "#/components/parameters/numberOfLatestTransactionsQuery"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListTransactionsResponse"
},
"examples": {
"Example transactions list": {
"value": {
"transactions": [
{
"id": 1111,
"program_id": 2222,
"account_id": 1234,
"external_account_id": "b993ba96-b3e8-4ef7-9cf7-7eee5ddafdab",
"soft_descriptor": "Purchase",
"processing_code": "219248",
"processing_description": "Hold Funds",
"amount": {
"currency": "USD",
"value": 1000.52
},
"event_date": "2023-04-27T12:01:24Z",
"payment_date": "2023-04-27T12:01:24Z",
"created_at": "2023-04-27T12:01:24Z",
"transaction_type": {
"id": 2345,
"description": "Purchase",
"credit": false,
"posted_transaction": true
},
"authorization": {
"id": 5678,
"type": "PLATFORM",
"code": "1234"
},
"metadata": {
"invoice": 2938
}
},
{
"id": 1112,
"program_id": 2222,
"account_id": 1234,
"external_account_id": "b993ba96-b3e8-4ef7-9cf7-7eee5ddafdac",
"soft_descriptor": "Purchase",
"processing_code": "219248",
"processing_description": "Hold Funds",
"amount": {
"currency": "USD",
"value": 1000.52
},
"event_date": "2023-04-27T12:02:24Z",
"payment_date": "2023-04-27T12:02:24Z",
"created_at": "2023-04-27T12:02:24Z",
"transaction_type": {
"id": 2345,
"description": "Purchase",
"credit": false,
"posted_transaction": true
},
"authorization": {
"id": 5679,
"type": "PLATFORM",
"code": "1234"
},
"metadata": {
"invoice": 2938
}
}
],
"pagination": {
"has_next": false,
"limit": 10,
"offset": 0
}
}
}
}
}
}
},
"400": {
"description": "A Bad Request validation error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
},
"examples": {
"Invalid filter boolean value": {
"value": {
"code": "WCTR0003",
"message": "param_name is not a valid boolean value"
}
},
"Invalid authorization type value": {
"value": {
"code": "WCTR0003",
"message": "authorization type should be PLATFORM or NETWORK"
}
},
"Invalid order type": {
"value": {
"code": "WCTR0003",
"message": "invalid order type"
}
},
"Invalid request parameters": {
"value": {
"code": "WCTR0004",
"message": "Invalid request parameters"
}
}
}
}
}
},
"401": {
"description": "Unauthorized.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
},
"examples": {
"Account not authorized": {
"value": {
"code": "WCAC0001",
"message": "Account not authorized"
}
}
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
},
"examples": {
"Forbidden request": {
"value": {
"message": "access denied"
}
}
}
}
}
},
"500": {
"$ref": "#/components/responses/500InternalServer"
}
}
}
}
}
}
```