Transactions

List all transactions

Get a list of all transactions including payments, refunds, and adjustments.

The List All Transactions endpoint retrieves a paginated list of transactions for your account. You can filter by status, type, date range, or customer metadata to narrow down results.

Endpoint

GET /v1/transactions

Query Parameters

Parameter

Type

Required

Description

status

string

No

Filter by status (pending, succeeded, failed, canceled).

type

string

No

Filter by type (payment, credit, refund).

limit

int

No

Number of results per page (default: 20, max: 100).

starting_after

string

No

Cursor for pagination. Returns results after the given transaction ID.

ending_before

string

No

Cursor for pagination. Returns results before the given transaction ID.

date_from

string

No

Filter by creation date (ISO 8601).

date_to

string

No

Filter by creation date (ISO 8601).

Headers

Key

Value

Required

Authorization

Bearer <access_token>

Yes

Response

Successful Response (200 OK)

{
  "object": "list",
  "data": [
    {
      "id": "txn_001",
      "account_id": "acct_001",
      "amount": 5000,
      "currency": "USD",
      "status": "succeeded",
      "type": "payment",
      "created_at": "2025-09-18T20:28:00Z"
    },
    {
      "id": "txn_002",
      "account_id": "acct_001",
      "amount": 1200,
      "currency": "USD",
      "status": "pending",
      "type": "refund",
      "created_at": "2025-09-18T21:15:00Z"
    }
  ],
  "has_more": true
}

Field

Type

Description

object

string

Always "list".

data

array

List of transaction objects.

has_more

boolean

Indicates if more results are available.

Error Response (401)

{
  "error": "unauthorized",
  "message": "Access token is missing or invalid."
}

Example Usage

cURL

curl -X GET "https://api.example.com/v1/transactions?status=succeeded&limit=10" \
  -H "Authorization: Bearer your_access_token"

JavaScript (Fetch)

const response = await fetch("https://api.example.com/v1/transactions?status=succeeded&limit=10", {
  method: "GET",
  headers: {
    "Authorization": "Bearer your_access_token"
  }
});

const data = await response.json();
console.log(data.data.length); // 10

Use starting_after and ending_before for cursor-based pagination. This ensures consistent ordering of results when fetching large transaction lists.

Need help? Contact Support

Questions? Contact Sales

On this page

Create a free website with Framer, the website builder loved by startups, designers and agencies.