---
title: "List all subscriptions"
method: GET
path: "/v1/projects/{projectID}/subscriptions"
tags: ["Subscriptions"]
---

# List all subscriptions

`GET /v1/projects/{projectID}/subscriptions`

This endpoint fetches all the subscriptions

## Path parameters

- `projectID` string, required

## Query parameters

- `direction` 'next' | 'prev'
- `endpointId` string[]
- `name` string
- `next_page_cursor` string
- `perPage` integer
- `prev_page_cursor` string
- `sort` string

## Response `200`

OK

- object
  - `message` string
  - `status` boolean
  - `data` object
    - `content` ModelsSubscriptionResponse[]
      - `alert_config` DatastoreAlertConfiguration
        - `count` integer
        - `threshold` string
      - `created_at` string
      - `deleted_at` string
      - `delivery_mode` 'at_least_once' | 'at_most_once'
      - `device_metadata` DatastoreDevice
        - `created_at` string
        - `deleted_at` string
        - `endpoint_id` string
        - `host_name` string
        - `last_seen_at` string
        - `project_id` string
        - `status` 'offline' | 'online' | 'disabled'
        - `uid` string
        - `updated_at` string
      - `endpoint_metadata` DatastoreEndpoint
        - `advanced_signatures` boolean
        - `authentication` DatastoreEndpointAuthentication
          - `api_key` DatastoreApiKey
            - `header_name` string
            - `header_value` string
          - `type` 'api_key'
        - `content_type` string
        - `created_at` string
        - `deleted_at` string
        - `description` string
        - `events` integer
        - `failure_rate` number
        - `http_timeout` integer
        - `mtls_client_cert` DatastoreMtlsClientCert
          - `client_cert` string — ClientCert is the client certificate PEM string
          - `client_key` string — ClientKey is the client private key PEM string
        - `name` string
        - `owner_id` string
        - `project_id` string
        - `rate_limit` integer
        - `rate_limit_duration` integer
        - `secrets` DatastoreSecret[]
          - `created_at` string
          - `deleted_at` string
          - `expires_at` string
          - `uid` string
          - `updated_at` string
          - `value` string
        - `slack_webhook_url` string
        - `status` 'active' | 'inactive' | 'pending' | 'paused'
        - `support_email` string
        - `uid` string
        - `updated_at` string
        - `url` string
      - `filter_config` DatastoreFilterConfiguration
        - `event_types` string[]
        - `filter` DatastoreFilterSchema
          - `body` DatastoreM
          - `headers` DatastoreM
          - `is_flattened` boolean
      - `function` string
      - `name` string
      - `project_id` string
      - `rate_limit_config` DatastoreRateLimitConfiguration
        - `count` integer
        - `duration` integer
      - `retry_config` DatastoreRetryConfiguration
        - `duration` integer
        - `retry_count` integer
        - `type` 'linear' | 'exponential'
      - `source_metadata` DatastoreSource
        - `body_function` string
        - `created_at` string
        - `custom_response` DatastoreCustomResponse
          - `body` string
          - `content_type` string
        - `deleted_at` string
        - `forward_headers` string[]
        - `header_function` string
        - `idempotency_keys` string[]
        - `is_disabled` boolean
        - `mask_id` string
        - `name` string
        - `project_id` string
        - `provider` 'github' | 'twitter' | 'shopify'
        - `provider_config` DatastoreProviderConfig
          - `twitter` DatastoreTwitterProviderConfig
            - `crc_verified_at` string
        - `pub_sub` DatastorePubSubConfig
          - `amqp` DatastoreAmqpPubSubConfig
            - `auth` DatastoreAmqpCredentials
              - …
            - `bindedExchange` string
            - `deadLetterExchange` string
            - `host` string
            - `port` string
            - `queue` string
            - `routingKey` string
            - `schema` string
            - `vhost` string
          - `google` DatastoreGooglePubSubConfig
            - `project_id` string
            - `service_account` integer[]
            - `subscription_id` string
          - `kafka` DatastoreKafkaPubSubConfig
            - `auth` DatastoreKafkaAuth
              - …
            - `brokers` string[]
            - `consumer_group_id` string
            - `topic_name` string
          - `sqs` DatastoreSQSPubSubConfig
            - `access_key_id` string
            - `default_region` string
            - `queue_name` string
            - `secret_key` string
          - `type` 'sqs' | 'google' | 'kafka' | 'amqp'
          - `workers` integer
        - `type` 'http' | 'rest_api' | 'pub_sub' | 'db_change_stream'
        - `uid` string
        - `updated_at` string
        - `url` string
        - `verifier` DatastoreVerifierConfig
          - `api_key` DatastoreApiKey
            - `header_name` string
            - `header_value` string
          - `basic_auth` DatastoreBasicAuth
            - `password` string
            - `username` string
          - `hmac` DatastoreHMac
            - `encoding` 'base64' | 'hex'
            - `hash` string
            - `header` string
            - `secret` string
          - `type` 'noop' | 'hmac' | 'basic_auth' | 'api_key'
      - `type` 'cli' | 'api'
      - `uid` string
      - `updated_at` string
    - `pagination` DatastorePaginationData
      - `has_next_page` boolean
      - `has_prev_page` boolean
      - `next_page_cursor` string
      - `per_page` integer
      - `prev_page_cursor` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found

## Changes

- **2025-11-12** (v3) `801a0bbf87fd` — 2 info
  - added the optional property `allOf[subschema #2]/data/allOf[subschema #2]/content/items/endpoint_metadata/content_type` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/data/allOf[subschema #2]/content/items/endpoint_metadata/mtls_client_cert` to the response with the `200` status
- **2025-08-05** (v3) `180e3a788b5b` — 1 info
  - added the optional property `allOf[subschema #2]/data/allOf[subschema #2]/content/items/delivery_mode` to the response with the `200` status
- **2025-03-17** (v3) `2737e2809da6` — 1 info
  - added the optional property `allOf[subschema #2]/data/allOf[subschema #2]/content/items/project_id` to the response with the `200` status
- **2024-10-23** (v3) `de665d0e2fc3` — 1 info
  - added the optional property `allOf[subschema #2]/data/allOf[subschema #2]/content/items/endpoint_metadata/failure_rate` to the response with the `200` status
- **2024-07-12** (v3) `59336767e79a` — 1 breaking, 2 warning
  - the `allOf[subschema #2]/data/allOf[subschema #2]/content/items/function` response's property type/format changed from `object`/`` to `string`/`` for status `200`
  - removed the optional property `allOf[subschema #2]/data/allOf[subschema #2]/content/items/function/string` from the response with the `200` status
  - removed the optional property `allOf[subschema #2]/data/allOf[subschema #2]/content/items/function/valid` from the response with the `200` status

[Full history](https://skmtc.dev/getconvoy/apis/convoy-api-reference/changes/v1/projects/:projectID/subscriptions/get.md)

---

[API](https://skmtc.dev/getconvoy/apis/convoy-api-reference.md) · [All operations](https://skmtc.dev/getconvoy/apis/convoy-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getconvoy/convoy-api-reference/revisions/801a0bbf87fd/schema)
