---
title: "List recurring payment collection attempts"
method: GET
path: "/v1/payments/recurring-payments/{id}/collection-attempts"
tags: ["Payments"]
---

# List recurring payment collection attempts

`GET /v1/payments/recurring-payments/{id}/collection-attempts`

## Request

- Base URL: `http://localhost:8787`
- URL: `http://localhost:8787/v1/payments/recurring-payments/{id}/collection-attempts`
- Auth: HTTP bearer

Lists every collection attempt a recurring payment has made over its whole history, newest first: its current subscription and every subscription an edit replaced. A recurring payment that has not been activated has none.

## Path parameters

- `id` string, required: SDP recurring payment record ID.

## Query parameters

- `status` 'pending' | 'processing' | 'confirmed' | 'failed' | 'skipped': Collection attempt status.
- `page` integer
- `pageSize` integer

## Headers

- `x-project-id` string: Required for dashboard sessions. API keys use their assigned project.

## Response `200`

Collection attempt list

- object: Standard success response envelope.
  - `data` object, required: Collection attempt list response payload.
    - `collectionAttempts` object[], required
      - `id` string, required: Collection attempt ID.
      - `organizationId` string, required: Organization identifier.
      - `projectId` string, required: Project identifier.
      - `subscriptionId` string, required: Subscription ID.
      - `transferId` string, nullable, required: Payment transfer record ID when linked.
      - `token` string, required: Token mint or normalized token identifier.
      - `amount` string, required: Token amount in UI units (decimal string).
      - `dueAt` string, date-time, required: ISO 8601 timestamp.
      - `attemptedAt` string, date-time, nullable, required: ISO 8601 timestamp.
      - `status` 'pending' | 'processing' | 'confirmed' | 'failed' | 'skipped', required: Collection attempt status.
      - `signature` string, nullable, required: Solana transaction signature.
      - `error` string, nullable, required: Collection error, if any.
      - `metadata` union, required: Provider/job metadata for the attempt.
        - object
          - `recurringPaymentId` string, required
          - `initiatedByKeyId` string, nullable, required
          - `source` 'manual', required
        - object
          - `recurringPaymentId` string, required
          - `initiatedByKeyId` string, nullable, required
          - `source` 'automated', required
        - object
          - `recurringPaymentId` string, required
          - `initiatedByKeyId` string, nullable, required
          - `source` 'retry', required
          - `initialSource` 'manual' | 'automated', required
          - `transferId` string, nullable, required
          - `error` string, required
          - `retryAfterAt` string, required
        - object
          - `recurringPaymentId` string, required
          - `initiatedByKeyId` string, nullable, required
          - `source` 'linked_transfer', required
          - `initialSource` 'manual' | 'automated', required
          - `transferId` string, required
      - `createdAt` string, date-time, required: ISO 8601 timestamp.
      - `updatedAt` string, date-time, required: ISO 8601 timestamp.
    - `total` integer, required
    - `page` integer, required
    - `pageSize` integer, required
  - `meta` object, required: Response metadata.
    - `requestId` string, required: Request identifier for tracing.
    - `timestamp` string, date-time, required: ISO 8601 timestamp.

## Other responses

- `400`: Error
- `401`: Error
- `403`: Forbidden. Requires the `recurring.read` action: an API key must hold it (a module's `manage` or `execute` also covers its `read`), and a signed-in member's organization role must include it. Without it the error is INSUFFICIENT_PERMISSIONS and `error.details.action` names the action. Any other 403 names its own reason.
- `404`: Error
- `500`: Error

## Changes

- **2026-11-03** `c08b9b926418`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/solana/apis/solana-developer-platform-api/changes/v1/payments/recurring-payments/:id/collection-attempts/get.md)

---

[API](https://skmtc.dev/solana/apis/solana-developer-platform-api.md) - [All operations](https://skmtc.dev/solana/apis/solana-developer-platform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/solana/apis/solana-developer-platform-api/revisions/b329212c2291?raw)
