---
title: "List all payment intents"
method: POST
path: "/payment-intents/search"
tags: ["Payment intents"]
---

# List all payment intents

`POST /payment-intents/search`

## Request

- Base URL: `https://api.dojo.tech`
- URL: `https://api.dojo.tech/payment-intents/search`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/dojo/apis/dojo-api/docs/payment-intents/search/post.ts> (a function with typed inputs; its response is checked against the schema)

Retrieves a list of payment intents.
Results are paginated. By default, the method returns up to 50 payment intents.

## Headers

- `version` string, date, required

## Request body

- SearchPaymentIntentRequest: Request a list of payment intents with specified filtering criteria.
  - `statuses` PaymentIntentStatus[], nullable: Statuses of requested payment intents.
  - `startDate` string, date-time, nullable: Date and time from which to search, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) UTC format.
  - `endDate` string, date-time, nullable: Date and time expiry of search in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) UTC format.
  - `cursor` Cursor: A cursor for use in pagination.
    - `limit` integer: The maximum number of results to be returned in a single page.
    - `before` string, nullable: A cursor for use in pagination for the previous page. `before` and `after` are mutually exclusive. Only one of these may be used.
    - `after` string, nullable: A cursor for use in pagination for the next page. `before` and `after` are mutually exclusive. Only one of these may be used.

## Response `200`

OK

- PagedPaymentIntent
  - `data` PaymentIntent[], nullable: An array of payment intents.
    - `id` string, nullable: The unique identifier of the payment intent.
    - `captureMode` 'Auto' | 'Manual': The type of capture for the payment, where: - `Auto` payments are captured automatically, once authorization is complete. - `Manual` payments are captured only when a capture request is made.
    - `cardHolderNotPresent` boolean: Indicates whether this transaction should be completed as Cardholder Not Present (CNP), with manual entry of card details. If the flag is true, the card machine skips the `Present Card` screen and goes directly into Key Card Number.
    - `clientSessionSecret` string, nullable: The client secret.
    - `clientSessionSecretExpirationDate` string, date-time: The expiration date of `clientSessionSecret`.
    - `paymentDetails` PaymentDetails: The payment details object.
      - `transactionId` string, nullable: The unique identifier of the transaction.
      - `transactionDateTime` string, nullable: The date and time of the payment in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) UTC format.
      - `message` string, nullable: The description of the operation.
      - `paymentMethodId` string, nullable: The unique identifier of the customer payment method.
      - `authCode` string, nullable: The acquirer's authorization code. This code is returned on a successful transaction.
      - `card` Card
        - `cardNumber` string, nullable: The card number.
        - `cardName` string, nullable: The name of the cardholder.
        - `expiryDate` string, nullable: If available, the expiry date of the card in the format 'MM/YY'.
        - `cardType` string, nullable: The card scheme.
        - `cardFundingType` string: The main funding types are credit, debit, pre-paid, and charge.
        - `last4PAN` string, nullable: The last four digits of the Primary Account Number. For Visa and Mastercard, this will be the four numbers at the end of the sixteen-digit card number.
        - `entryMode` string: Entry mode of the payment. (Contactless, ContactChip, Magstripe, ManualEntry, Unknown)
        - `verificationMethod` string: Method used to verify that the person presenting the card is the legitimate cardholder. The most common verification methods are PIN and signature. (Pin, Signature, Device, None)
      - `avsResult` string, nullable: The result of the Address Verification Service (AVS) check.
    - `status` 'Created' | 'Authorized' | 'Captured' | 'Reversed' | 'Refunded' | 'Canceled': Current status of the payment intent.
    - `paymentMethods` PaymentMethod[], nullable: The payment methods that customers can use to pay. (Card, Wallet, SavedCard)
    - `amount` Money: The amount intended to be collected by this payment intent excluding `tipsAmount` `serviceChargeAmount` and `cashbackAmount`.
      - `value` integer, required: The amount in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) minor units, for example, "100" for 1.00 GBP.
      - `currencyCode` string, required: Three-letter currency code in [ISO 4217 alpha-3](https://www.iso.org/iso-4217-currency-codes.html) format. Accepts `GBP` and `EUR`.
    - `tipsAmount` Money: The amount intended to be collected by this payment intent excluding `tipsAmount` `serviceChargeAmount` and `cashbackAmount`.
      - `value` integer, required: The amount in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) minor units, for example, "100" for 1.00 GBP.
      - `currencyCode` string, required: Three-letter currency code in [ISO 4217 alpha-3](https://www.iso.org/iso-4217-currency-codes.html) format. Accepts `GBP` and `EUR`.
    - `requestedAmount` Money: The amount intended to be collected by this payment intent excluding `tipsAmount` `serviceChargeAmount` and `cashbackAmount`.
      - `value` integer, required: The amount in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) minor units, for example, "100" for 1.00 GBP.
      - `currencyCode` string, required: Three-letter currency code in [ISO 4217 alpha-3](https://www.iso.org/iso-4217-currency-codes.html) format. Accepts `GBP` and `EUR`.
    - `totalAmount` Money: The amount intended to be collected by this payment intent excluding `tipsAmount` `serviceChargeAmount` and `cashbackAmount`.
      - `value` integer, required: The amount in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) minor units, for example, "100" for 1.00 GBP.
      - `currencyCode` string, required: Three-letter currency code in [ISO 4217 alpha-3](https://www.iso.org/iso-4217-currency-codes.html) format. Accepts `GBP` and `EUR`.
    - `refundedAmount` integer, nullable: The amount that was [refunded](/payments/manage-payments/cancelling-payments/refund).
    - `customer` Customer: Details about the customer.
      - `id` string, nullable: The unique identifier of the customer.
      - `name` string, nullable: The customer's name.
      - `emailAddress` string, nullable: The customer's email address.
      - `phoneNumber` string, nullable: The customer's phone number.
    - `requestSecurity` RequestSecurity: Customer's device information.
      - `userAgent` string, nullable: The customer's browser agent.
      - `ipAddress` string, nullable: The customer's device IP address.
      - `device` string, nullable: The customer's device type.
    - `billingAddress` Address: Details about the address.
      - `address1` string, nullable: Address line 1 (for example, company name).
      - `address2` string, nullable: Address line 2 (for example, street, apartment, or suite).
      - `address3` string, nullable: Address line 3.
      - `address4` string, nullable: Address line 4.
      - `city` string, nullable: City, town, district, suburb, or village.
      - `state` string, nullable: State, province, or region.
      - `postcode` string, nullable: ZIP or postal code.
      - `countryCode` string, required: Two-letter country code in [ISO 3166–1-alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.
      - `locality` string, nullable: Locality, can use in addition to city.
      - `county` string, nullable: County or zone.
    - `shippingDetails` ShippingDetails: Details about the shipping.
      - `name` string, nullable: The name of the customer.
      - `deliveryNotes` string, nullable: The delivery notes.
      - `address` Address: Details about the address.
        - `address1` string, nullable: Address line 1 (for example, company name).
        - `address2` string, nullable: Address line 2 (for example, street, apartment, or suite).
        - `address3` string, nullable: Address line 3.
        - `address4` string, nullable: Address line 4.
        - `city` string, nullable: City, town, district, suburb, or village.
        - `state` string, nullable: State, province, or region.
        - `postcode` string, nullable: ZIP or postal code.
        - `countryCode` string, required: Two-letter country code in [ISO 3166–1-alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.
        - `locality` string, nullable: Locality, can use in addition to city.
        - `county` string, nullable: County or zone.
    - `createdAt` string, date-time: The creation date, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) UTC format.
    - `updatedAt` string, date-time: The timestamp of the update date, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) UTC format.
    - `reference` string, nullable: A unique identifier for the payment. For example, `Order 236`.
    - `description` string, nullable: The payment description.
    - `subtotalLineItems` Money: The amount intended to be collected by this payment intent excluding `tipsAmount` `serviceChargeAmount` and `cashbackAmount`.
      - `value` integer, required: The amount in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) minor units, for example, "100" for 1.00 GBP.
      - `currencyCode` string, required: Three-letter currency code in [ISO 4217 alpha-3](https://www.iso.org/iso-4217-currency-codes.html) format. Accepts `GBP` and `EUR`.
    - `itemLines` ItemLine[], nullable: The line items purchased by the customer.
      - `id` string: The unique identifier for the object.
      - `quantity` integer: The quantity of items being purchased.
      - `name` string: A name of the item.
      - `category` string: The type of modifier, for easy identification.
      - `modifiers` Modifier[]: A list of modifiers applied to a given item.
        - `name` string, required: A human-readable name of the modifier.
        - `amountPerModifier` Money, required: The amount intended to be collected by this payment intent excluding `tipsAmount` `serviceChargeAmount` and `cashbackAmount`.
          - `value` integer, required: The amount in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) minor units, for example, "100" for 1.00 GBP.
          - `currencyCode` string, required: Three-letter currency code in [ISO 4217 alpha-3](https://www.iso.org/iso-4217-currency-codes.html) format. Accepts `GBP` and `EUR`.
        - `quantity` integer, required: How many times this modifier is applied to the item. Please note that this amount is per single item, so if a customer orders two burgers each with double extra cheese, the quantity should be 2, not 4.
        - `id` string, required: A machine-readable identifier for this modifier.
      - `amountTotal` Money, required: The amount intended to be collected by this payment intent excluding `tipsAmount` `serviceChargeAmount` and `cashbackAmount`.
        - `value` integer, required: The amount in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) minor units, for example, "100" for 1.00 GBP.
        - `currencyCode` string, required: Three-letter currency code in [ISO 4217 alpha-3](https://www.iso.org/iso-4217-currency-codes.html) format. Accepts `GBP` and `EUR`.
      - `plu` string: The price look-up code of the item.
    - `taxLines` TaxLine[], nullable: The taxes applied to the items.
      - `id` string: The unique identifier for the object.
      - `caption` string: A name of the tax.
      - `subCaption` string, nullable: A sub-name of the tax.
      - `amountTotal` Money, required: The amount intended to be collected by this payment intent excluding `tipsAmount` `serviceChargeAmount` and `cashbackAmount`.
        - `value` integer, required: The amount in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) minor units, for example, "100" for 1.00 GBP.
        - `currencyCode` string, required: Three-letter currency code in [ISO 4217 alpha-3](https://www.iso.org/iso-4217-currency-codes.html) format. Accepts `GBP` and `EUR`.
      - `affectedPlu` string: The affected price look-up code of the tax.
    - `actionLink` ActionLink: The link to the payment's associated actions.
      - `url` string, uri, required: The link URL.
      - `action` 'OpenLink' | 'DownloadFile': The type of action associated with the link.
      - `label` string, required: Custom label given to the action.
      - `fileName` string, nullable: Filename of the document.
    - `merchantConfig` MerchantConfig: Details about the merchant configuration.
      - `supportedPaymentMethods` SupportedPaymentMethods
        - `cardSchemes` CardScheme[], nullable: Supported card schemes.
        - `wallets` WalletPaymentOption[], nullable: List of supported payment wallets.
    - `config` PaymentIntentConfigResponse
      - `title` string, nullable: The [checkout page’s title](../payments/accept-payments/checkout-page/configuration#add-information-about-your-company).
      - `redirectUrl` string, uri, nullable: The URL that a customer will be directed to after payment.
      - `cancelUrl` string, uri, nullable: The URL that a customer will be directed to when canceling a payment.
      - `customerEmail` PaymentIntentConfigCustomerEmail: Include a configurable customer email address as part of the payment intent. Configurable fields can be altered later by [updating](./payments/manage-payments/change-amount) the payment intent.
        - `collectionRequired` boolean: Set to `true` if the object requires collection.
      - `details` PaymentIntentConfigDetails
        - `showTotal` boolean: If has the value `true`, the total order amount will be showed.
        - `showReference` boolean: If the value is `true`, the order reference ID will be shown.
      - `billingAddress` PaymentIntentConfigBillingAddress
        - `collectionRequired` boolean: Set to `true` if the object requires collection.
      - `shippingDetails` PaymentIntentConfigShippingDetails
        - `collectionRequired` boolean: Set to `true` if the object requires collection.
      - `payment` PaymentConfigDetails
        - `customAmountAllowed` boolean: If set to `true` the amount of the payment intent can be changed.
        - `tipsAllowed` boolean: If set to `true`, tip is allowed.
    - `autoExpireAction` 'Release' | 'Capture': The action triggered when a `Manual` payment intent expires. This is determined by the expiry time set in the `autoExpireIn` property. Required, if the capture mode is set to `Manual`.
    - `expireAt` string, date-time, nullable: The timestamp and date of when a payment intent will be voided, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) UTC format. This occurs when a payment intent is created and not yet authorized. If `null`, the payment intent is voided after 30 days.
    - `autoExpireIn` string, timespan, nullable: The time interval after which a `Manual` payment intent will be captured or reversed, in `dd.hh:MM:ss` format. The timestamp value must be more than 30 seconds and less than 7 days.
    - `metadata` object, nullable: A set of key-value pairs that you can use to store additional information.
    - `orderDetails` OrderDetails
      - `availabilityDate` string, date-time, nullable: The payment description.
      - `isUpdate` boolean, nullable: An optional true/false field.
      - `id` string, nullable: The unique identifier of the order in Dojo.
      - `externalId` string, nullable: The unique identifier of the order in external systems, such as EPOS.
    - `setupIntentId` string, nullable: The unique identifier for the setup intent.
    - `cashbackAmount` Money: The amount intended to be collected by this payment intent excluding `tipsAmount` `serviceChargeAmount` and `cashbackAmount`.
      - `value` integer, required: The amount in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) minor units, for example, "100" for 1.00 GBP.
      - `currencyCode` string, required: Three-letter currency code in [ISO 4217 alpha-3](https://www.iso.org/iso-4217-currency-codes.html) format. Accepts `GBP` and `EUR`.
    - `serviceChargeAmount` Money: The amount intended to be collected by this payment intent excluding `tipsAmount` `serviceChargeAmount` and `cashbackAmount`.
      - `value` integer, required: The amount in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) minor units, for example, "100" for 1.00 GBP.
      - `currencyCode` string, required: Three-letter currency code in [ISO 4217 alpha-3](https://www.iso.org/iso-4217-currency-codes.html) format. Accepts `GBP` and `EUR`.
    - `paymentLink` string, uri, nullable: The URL of the generated payment link. The customer will be redirected to this URL in order to complete the payment.
    - `terminalSessionHistory` TerminalSessionHistoryResponse[], nullable: The past events of the terminal session.
      - `terminalSession` TerminalSessionResponse
        - `terminalId` string, nullable: The unique identifier for the terminal.
        - `id` string, nullable: The unique identifier of the terminal session.
        - `status` 'InitiateRequested' | 'Initiated' | 'Authorized' | 'Captured' | 'CancelRequested' | 'Canceled' | 'SignatureVerificationAccepted' | 'SignatureVerificationRejected' | 'SignatureVerificationRequired' | 'Expired' | 'Declined': The current status of the terminal session. A finalized, successful session will be `Captured`.
        - `expireAt` string, date-time: The timestamp and date of when a terminal session will be marked as `Expired`, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) UTC format. This changes throughout the life cycle of a terminal session as it moves to different states.
        - `createdAt` string, date-time: The creation date, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) UTC format.
        - `updatedAt` string, date-time: The timestamp of the update date, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) UTC format.
        - `notificationEvents` TerminalSessionNotification[], nullable: When a notification is issued, a notification event is created to record when it occurred.
          - `notificationType` string: Terminal notifications. (Approved, Declined, InsertCard, EnterPin, PleaseWait, PresentCard, PresentOnlyOneCard, RemoveCard, CardUnsupported, CardError, ReEnterCard)
          - `createdAt` string, date-time
        - `statusEvents` TerminalSessionStatusEvent[], nullable: Status events include the capture, cancellation, and refund of payments.
          - `status` 'InitiateRequested' | 'Initiated' | 'Authorized' | 'Captured' | 'CancelRequested' | 'Canceled' | 'SignatureVerificationAccepted' | 'SignatureVerificationRejected' | 'SignatureVerificationRequired' | 'Expired' | 'Declined', required: The current status of the terminal session. A finalized, successful session will be `Captured`.
          - `createdAt` string, date-time, required: The creation date, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) UTC format.
          - `debugMessage` string, required: The message to troubleshoot the terminal session by revealing the internal state of the terminal.
        - `details` union: Details about the terminal session, including which type of transaction it is associated with.
          - object
            - `unlinkedRefund` TerminalSessionUnlinkedRefundDetails: A refund which is not linked to any previous transaction.
              - …
            - `matchedRefund` TerminalSessionMatchedRefundDetails: A matched refund is associated with the payment intent of the initial transaction.
              - …
            - `sale` TerminalSessionSaleDetails, required: Use this field when creating a terminal session request to name a payment intent by its ID to associate with the session.
              - …
            - `sessionType` 'Sale' | 'MatchedRefund' | 'UnlinkedRefund', required: Decide which type of transaction a terminal session is going to be associated with.
          - object
            - `unlinkedRefund` TerminalSessionUnlinkedRefundDetails, required: A refund which is not linked to any previous transaction.
              - …
            - `matchedRefund` TerminalSessionMatchedRefundDetails: A matched refund is associated with the payment intent of the initial transaction.
              - …
            - `sale` TerminalSessionSaleDetails: Use this field when creating a terminal session request to name a payment intent by its ID to associate with the session.
              - …
            - `sessionType` 'Sale' | 'MatchedRefund' | 'UnlinkedRefund', required: Decide which type of transaction a terminal session is going to be associated with.
          - object
            - `unlinkedRefund` TerminalSessionUnlinkedRefundDetails: A refund which is not linked to any previous transaction.
              - …
            - `matchedRefund` TerminalSessionMatchedRefundDetails, required: A matched refund is associated with the payment intent of the initial transaction.
              - …
            - `sale` TerminalSessionSaleDetails: Use this field when creating a terminal session request to name a payment intent by its ID to associate with the session.
              - …
            - `sessionType` 'Sale' | 'MatchedRefund' | 'UnlinkedRefund', required: Decide which type of transaction a terminal session is going to be associated with.
      - `payment` TerminalSessionPaymentResponse
        - `transactionDateTime` string, nullable
        - `cardNumber` string, nullable
        - `expiryDate` string, nullable
        - `cardType` string, nullable
        - `authGatewayTransactionId` string, nullable
        - `cardHolderName` string, nullable
        - `entryMode` string: Entry mode of the payment. (Contactless, ContactChip, Magstripe, ManualEntry, Unknown)
        - `verificationMode` string: Method used to verify that the person presenting the card is the legitimate cardholder. The most common verification methods are PIN and signature. (Pin, Signature, Device, None)
    - `captures` CaptureDetails[], nullable: Details of captured payments.
      - `id` string, nullable
      - `amount` integer
      - `tipsAmount` integer, nullable
      - `status` 'Created' | 'Successful' | 'Declined' | 'Failed': Current capture status.
      - `createdAt` string, date-time
  - `before` string, nullable: A cursor for use in pagination for the previous page.
  - `after` string, nullable: A cursor for use in pagination for the next page.

## Other responses

- `400`: Bad request
- `401`: Unauthorized

---

[API](https://skmtc.dev/dojo/apis/dojo-api.md) - [All operations](https://skmtc.dev/dojo/apis/dojo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/dojo/apis/dojo-api/revisions/29fc8900ba37?raw)
