---
title: "List all projects"
method: GET
path: "/v1/projects"
tags: ["Projects"]
---

# List all projects

`GET /v1/projects`

This endpoint fetches projects for an organisation. Authenticate with a personal API key or JWT and pass the organisation id as the orgID query parameter.

## Query parameters

- `orgID` string, required

## Response `200`

OK

- object
  - `message` string
  - `status` boolean
  - `data` ModelsProjectResponse[]
    - `config` DatastoreProjectConfig
      - `add_event_id_trace_headers` boolean
      - `allow_unmatched_dynamic_urls` boolean — AllowUnmatchedDynamicURLs lets a dynamic event URL that matches none of the project's endpoint URL templates auto-create an endpoint. Default false rejects unmatched URLs.
      - `circuit_breaker` DatastoreCircuitBreakerConfiguration
        - `consecutive_failure_threshold` integer
        - `error_timeout` integer
        - `failure_threshold` integer
        - `minimum_request_count` integer
        - `observability_window` integer
        - `sample_rate` integer
        - `success_threshold` integer
      - `disable_endpoint` boolean
      - `max_payload_read_size` integer
      - `meta_event` DatastoreMetaEventConfiguration
        - `event_type` string[]
        - `is_enabled` boolean
        - `pub_sub` DatastorePubSubConfig
          - `amqp` DatastoreAmqpPubSubConfig
            - `auth` DatastoreAmqpCredentials
              - …
            - `bindedExchange` string, nullable
            - `deadLetterExchange` string, nullable
            - `host` string
            - `port` string
            - `queue` string
            - `routingKey` string
            - `schema` string
            - `vhost` string, nullable
          - `google` DatastoreGooglePubSubConfig
            - `project_id` string
            - `service_account` string, byte — encoding/json marshals []byte as a base64 string on the wire.
            - `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
            - `endpoint` string — Optional: for LocalStack testing
            - `queue_name` string
            - `secret_key` string
          - `type` 'sqs' | 'google' | 'kafka' | 'amqp' | ''
          - `workers` integer
        - `secret` string
        - `type` 'http' | 'pub_sub' | ''
        - `url` string
      - `multiple_endpoint_subscriptions` boolean
      - `ratelimit` DatastoreRateLimitConfiguration
        - `count` integer
        - `duration` integer
      - `replay_attacks_prevention_enabled` boolean
      - `request_id_header` 'X-Convoy-Idempotency-Key' | ''
      - `search_policy` string
      - `signature` DatastoreSignatureConfiguration
        - `header` 'X-Convoy-Signature' | ''
        - `versions` DatastoreSignatureVersion[]
          - `created_at` string
          - `encoding` 'base64' | 'hex' | ''
          - `hash` string
          - `uid` string
      - `ssl` DatastoreSSLConfiguration
        - `enforce_secure_endpoints` boolean
      - `strategy` DatastoreStrategyConfiguration
        - `duration` integer
        - `retry_count` integer
        - `type` 'linear' | 'exponential' | ''
      - `verify_dynamic_events` boolean — VerifyDynamicEvents waits for endpoint/subscription resolve before returning 2xx from POST /events/dynamic. Default false keeps 201-on-queue.
    - `created_at` string
    - `deleted_at` string, nullable
    - `logo_url` string
    - `name` string
    - `organisation_id` string
    - `retained_events` integer
    - `statistics` DatastoreProjectStatistics
      - `endpoints_exist` boolean
      - `events_exist` boolean
      - `sources_exist` boolean
      - `subscriptions_exist` boolean
    - `type` 'outgoing' | 'incoming' | ''
    - `uid` string
    - `updated_at` string

## Other responses

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

---

[API](https://skmtc.net/frain-dev/apis/convoy-api-reference.md) · [All operations](https://skmtc.net/frain-dev/apis/convoy-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/frain-dev/convoy-api-reference/versions/dbd5b4f9cf13/schema)
