List captures

Get a list of captures for an auth-capture card-payment transfer.

To access this endpoint using an access token you'll need to specify the /accounts/{accountID}/transfers.read scope.

GET
/accounts/{accountID}/transfers/{transferID}/captures
curl -X GET "https://api.moov.io/accounts/{accountID}/transfers/{transferID}/captures" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.10.00"
import { Moov } from "@moovio/sdk";

const moov = new Moov({
  security: {
    username: "",
    password: "",
  },
});

async function run() {
  const result = await moov.transfers.listCaptures({
    accountID: "<id>",
    transferID: "<id>",
  });

  console.log(result);
}

run();
declare(strict_types=1);

require 'vendor/autoload.php';

use Moov\MoovPhp;
use Moov\MoovPhp\Models\Components;

$sdk = MoovPhp\Moov::builder()
    ->setSecurity(
        new Components\Security(
            username: '',
            password: '',
        )
    )
    ->build();



$response = $sdk->transfers->listCaptures(
    accountID: '<id>',
    transferID: '<id>'

);

if ($response->captures !== null) {
    // handle response
}
package hello.world;

import io.moov.sdk.Moov;
import io.moov.sdk.models.components.Security;
import io.moov.sdk.models.operations.ListCapturesResponse;
import java.lang.Exception;

public class Application {

    public static void main(String[] args) throws Exception {

        Moov sdk = Moov.builder()
                .security(Security.builder()
                    .username("")
                    .password("")
                    .build())
            .build();

        ListCapturesResponse res = sdk.transfers().listCaptures()
                .accountID("<id>")
                .transferID("<id>")
                .call();

        if (res.captures().isPresent()) {
            System.out.println(res.captures().get());
        }
    }
}
from moovio_sdk import Moov
from moovio_sdk.models import components


with Moov(
    security=components.Security(
        username="",
        password="",
    ),
) as moov:

    res = moov.transfers.list_captures(account_id="<id>", transfer_id="<id>")

    # Handle response
    print(res)
require 'moov_ruby'

Models = ::Moov::Models
s = ::Moov::Client.new(
  security: Models::Components::Security.new(
    username: '',
    password: ''
  )
)
res = s.transfers.list_captures(account_id: '<id>', transfer_id: '<id>')

unless res.captures.nil?
  # handle response
end
using Moov.Sdk;
using Moov.Sdk.Models.Components;

var sdk = new MoovClient(security: new Security() {
    Username = "",
    Password = "",
});

var res = await sdk.Transfers.ListCapturesAsync(
    accountID: "<id>",
    transferID: "<id>"
);

// handle response
The request completed successfully.
application/json
[
  {
    "captureID": "string",
    "amount": {
      "currency": "USD",
      "valueDecimal": "12.987654321"
    },
    "isFinal": true,
    "status": "pending",
    "createdOn": "2019-08-24T14:15:22Z",
    "destinationPaymentMethodID": "string",
    "description": "Pay Instructor for May 15 Class",
    "metadata": {
      "optional": "metadata"
    },
    "foreignID": "string",
    "lineItems": {
      "items": [
        {
          "name": "string",
          "basePrice": {
            "currency": "USD",
            "valueDecimal": "12.987654321"
          },
          "quantity": 1,
          "options": [
            {
              "name": "string",
              "quantity": 1,
              "priceModifier": {
                "currency": "USD",
                "valueDecimal": "12.987654321"
              },
              "images": [
                {
                  "imageID": "string",
                  "altText": "string",
                  "link": "https://api.moov.io/images/q7lKWleAy9fUNhEGezQ1g",
                  "publicID": "string"
                }
              ],
              "group": "string"
            }
          ],
          "images": [
            {
              "imageID": "string",
              "altText": "string",
              "link": "https://api.moov.io/images/q7lKWleAy9fUNhEGezQ1g",
              "publicID": "string"
            }
          ],
          "productID": "string"
        }
      ]
    },
    "amountDetails": {
      "tip": {
        "currency": "USD",
        "valueDecimal": "12.987654321"
      },
      "tax": {
        "currency": "USD",
        "valueDecimal": "12.987654321"
      },
      "surcharge": {
        "currency": "USD",
        "valueDecimal": "12.987654321"
      }
    },
    "facilitatorFeeAmount": {
      "currency": "USD",
      "valueDecimal": "12.987654321"
    },
    "failureCode": "call-issuer"
  }
]

x-request-id

string required
A unique identifier used to trace requests.
The request contained missing or expired authentication.

x-request-id

string required
A unique identifier used to trace requests.
The user is not authorized to make the request.

x-request-id

string required
A unique identifier used to trace requests.
The requested resource was not found.

x-request-id

string required
A unique identifier used to trace requests.
Request was refused due to rate limiting.

x-request-id

string required
A unique identifier used to trace requests.
The request failed due to an unexpected error.

x-request-id

string required
A unique identifier used to trace requests.
The request failed because a downstream service failed to respond.

x-request-id

string required
A unique identifier used to trace requests.

Headers

X-Moov-Version

string
Set this header to v2026.10.00 to use the API described in this specification. When omitted, the server defaults to v2024.01.00, the earliest supported version, which may not match the behavior documented here. An unrecognized well-formed version uses the latest supported version that is not newer than the requested version, when one exists. For example, v2026.08.00 uses v2026.07.00. A malformed value, such as 2022, returns a 404 response.
Possible values: v2026.10.00

Path parameters

accountID

string required
Moov account ID of an authorized partner or the transfer's source or destination.

transferID

string required
Identifier for the auth-capture card-payment transfer.

Response

application/json

amount

object
Show child attributes

currency

string required Pattern
A 3-letter ISO 4217 currency code.

valueDecimal

string required Pattern

A decimal-formatted numerical string that represents up to 9 decimal place precision.

For example, $12.987654321 is '12.987654321'.

amountDetails

object
Show child attributes

surcharge

object
The amount of surcharge applied to the transfer.
Show child attributes

currency

string required Pattern
A 3-letter ISO 4217 currency code.

valueDecimal

string required Pattern

A decimal-formatted numerical string that represents up to 9 decimal place precision.

For example, $12.987654321 is '12.987654321'.

tax

object
The amount of tax applied to the transfer.
Show child attributes

currency

string required Pattern
A 3-letter ISO 4217 currency code.

valueDecimal

string required Pattern

A decimal-formatted numerical string that represents up to 9 decimal place precision.

For example, $12.987654321 is '12.987654321'.

tip

object
The amount of tip applied to the transfer.
Show child attributes

currency

string required Pattern
A 3-letter ISO 4217 currency code.

valueDecimal

string required Pattern

A decimal-formatted numerical string that represents up to 9 decimal place precision.

For example, $12.987654321 is '12.987654321'.

captureID

string
Identifier for the capture.
A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer).

createdOn

string<date-time>

description

string <=256 characters
An optional description of the capture that is used on receipts and for your own internal use.

destinationPaymentMethodID

string
Payment method of the merchant account the funds were captured into. For card-acquiring transfers, this must be a moov-wallet payment method.
A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer).

facilitatorFeeAmount

object
The facilitator fee applied to this capture. The transfer's facilitator fee is the sum of its capture fees.
Show child attributes

currency

string required Pattern
A 3-letter ISO 4217 currency code.

valueDecimal

string required Pattern

A decimal-formatted numerical string that represents up to 9 decimal place precision.

For example, $12.987654321 is '12.987654321'.

failureCode

string<enum>
Possible values: call-issuer, do-not-honor, processing-error, invalid-transaction, invalid-amount, no-such-issuer, reenter-transaction, cvv-mismatch, lost-or-stolen, insufficient-funds, invalid-card-number, invalid-merchant, expired-card, incorrect-pin, transaction-not-allowed, suspected-fraud, amount-limit-exceeded, velocity-limit-exceeded, revocation-of-authorization, card-not-activated, issuer-not-available, could-not-route, cardholder-account-closed, account-closed, account-not-activated, authentication-failed, authentication-required, cardholder-action-required, format-error, invalid-pin, offline-approved, offline-declined, partial-approval, payment-stopped, pin-required, record-not-found, surcharge-not-permitted, transaction-reversed, verification-failed, unknown-issue, duplicate-transaction

foreignID

string <=128 characters
Optional alias from a foreign/external system which can be used to reference this resource.

isFinal

boolean
Indicates whether this is intended to be the final capture.

lineItems

object
An optional collection of line items for a transfer. When line items are provided, their total plus tax must equal the transfer amount.
Show child attributes

items

array<object> required
The list of line items.
Show child attributes

basePrice

object
The base price of the item before applying option modifiers.
Show child attributes

currency

string required Pattern
A 3-letter ISO 4217 currency code.

valueDecimal

string required Pattern

A decimal-formatted numerical string that represents up to 9 decimal place precision.

For example, $12.987654321 is '12.987654321'.

images

array<object>
Optional list of images associated with this line item.
Show child attributes

altText

string <=125 characters
Alternative text for the image.

imageID

string
Unique identifier for a image resource.

link

string<uri>
The image's public URL.

publicID

string Pattern
A unique identifier for an image, used in public image links.

name

string [1 to 150] characters
The name of the item.

options

array<object>
Optional list of modifiers applied to this item (e.g., toppings, upgrades, customizations).
Show child attributes

group

string <=100 characters
Optional group identifier to categorize related options (e.g., 'toppings').

images

array<object>
Optional list of images associated with this line item option.
Show child attributes

altText

string <=125 characters
Alternative text for the image.

imageID

string
Unique identifier for a image resource.

link

string<uri>
The image's public URL.

publicID

string Pattern
A unique identifier for an image, used in public image links.

name

string [1 to 150] characters
The name of the option or modifier.

priceModifier

object
Optional price modification applied by this option. Can be positive, negative, or zero.
Show child attributes

currency

string required Pattern
A 3-letter ISO 4217 currency code.

valueDecimal

string required Pattern

A decimal-formatted numerical string that represents up to 9 decimal place precision.

For example, $12.987654321 is '12.987654321'.

quantity

integer<int32>
The quantity of this option.

productID

string
Optional unique identifier associating the line item with a product.

quantity

integer<int32>
The quantity of this item.

metadata

object
Free-form key-value pair list. Useful for storing information that is not captured elsewhere.

status

string<enum>
Possible values: pending, completed, failed, canceled