# List change feed subscriptions
Source: https://www.desktopaccountingapi.com/docs/api/reference/operations/changefeedsubscriptionslist/

`GET https://api.desktopaccountingapi.com/v1/change-feed-subscriptions`

Operation ID: `changeFeedSubscriptions.list`. Tag: Change feed.

Returns the project's change feed subscriptions, newest first.

Authentication: `Authorization: Bearer <secret key>`.

Example request:

```sh
curl "https://api.desktopaccountingapi.com/v1/change-feed-subscriptions?limit=10" \
  -H "Authorization: Bearer $DAAPI_SECRET_KEY"
```

## Query parameters

- `cursor` (string): The `nextCursor` from the previous page. 1–200 characters.
- `limit` (integer): Page size, 1–100. Default 50. 1 to 100; default `50`; example `50`.

## Responses

### 200

A page of subscriptions.

Body (application/json): object (ChangeFeedSubscriptionList).

- `objectType` (string, required): Always `list`. one of `list`.
- `url` (string, required): The endpoint that produced this list. one of `/v1/change-feed-subscriptions`.
- `data` (array of object (ChangeFeedSubscription), required): Objects on this page, newest first.
  - `id` (string, required): Unique identifier for the change feed subscription. example `cfs_01j9x4m6v4c8k2t7q0r5s3w1zk`.
  - `objectType` (string, required): Always `change_feed_subscription`. one of `change_feed_subscription`.
  - `createdAt` (string (date-time), required): When the subscription was created. UTC, ISO 8601 with milliseconds. example `2026-10-05T16:03:59.002Z`.
  - `updatedAt` (string (date-time), required): When the subscription was last changed. UTC, ISO 8601 with milliseconds. example `2026-10-05T16:03:59.002Z`.
  - `projectId` (string, required): Unique identifier for the project. example `proj_01j9x4m6v4c8k2t7q0r5s3w1zf`.
  - `resources` (array of string, required): Watched resources, in alphabetical order.
  - `intervalMinutes` (integer, required): Minutes between polls of each connection. example `15`.
  - `enabled` (boolean, required): Whether connections are polled. A disabled subscription keeps its settings.
- `nextCursor` (string, nullable, required): Pass as `cursor` to fetch the next page; `null` on the last page.
- `hasMore` (boolean, required): Whether another page exists.
- `remainingCount` (integer, nullable, required): Always `null` for platform lists.
- `cursorExpiresAt` (string, nullable, required): Always `null`: platform cursors do not expire.

### Errors

Every error body is the error object described at https://www.desktopaccountingapi.com/docs/errors/.

- `400`: The request is invalid. Codes: `UNKNOWN_HEADER`, `INVALID_PARAMETER`, `CURSOR_INVALID`.
- `401`: The API key is missing or invalid. Codes: `API_KEY_MISSING`, `API_KEY_INVALID`.
- `429`: Too many requests. Codes: `RATE_LIMITED`.
- `500`: Unexpected server error. Codes: `INTERNAL_ERROR`.
- `503`: QuickBooks Desktop or the service is not available. Codes: `SERVICE_UNAVAILABLE`.
