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

# List all endpoints

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

This endpoint fetches an endpoints

## Path parameters

- `projectID` string, required

## Query parameters

- `direction` 'next' | 'prev'
- `next_page_cursor` string
- `ownerId` string
- `perPage` integer
- `prev_page_cursor` string
- `q` string
- `sort` string

## Response `200`

OK

- object
  - `message` string
  - `status` boolean
  - `data` object
    - `content` ModelsEndpointResponse[]
      - `advanced_signatures` boolean
      - `authentication` DatastoreEndpointAuthentication
        - `api_key` DatastoreApiKey
          - `header_name` string
          - `header_value` string
        - `basic_auth` DatastoreBasicAuth
          - `password` string
          - `username` string
        - `oauth2` DatastoreOAuth2
          - `audience` string
          - `authentication_type` 'shared_secret' | 'client_assertion'
          - `client_id` string
          - `client_secret` string — Encrypted at rest
          - `expiry_time_unit` 'seconds' | 'milliseconds' | 'minutes' | 'hours'
          - `field_mapping` DatastoreOAuth2FieldMapping
            - `access_token` string — Field name for access token (e.g., "accessToken", "access_token", "token")
            - `expires_in` string — Field name for expiry time (e.g., "expiresIn", "expires_in", "expiresAt")
            - `token_type` string — Field name for token type (e.g., "tokenType", "token_type")
          - `grant_type` string
          - `issuer` string
          - `scope` string
          - `signing_algorithm` string
          - `signing_key` DatastoreOAuth2SigningKey
            - `crv` string — EC (Elliptic Curve) key fields
            - `d` string — Private key (EC only)
            - `dp` string — RSA first factor CRT exponent (RSA private key only)
            - `dq` string — RSA second factor CRT exponent (RSA private key only)
            - `e` string — RSA public exponent (RSA only)
            - `kid` string — Key ID
            - `kty` string — Key type: "EC" or "RSA"
            - `n` string — RSA key fields
            - `p` string — RSA first prime factor (RSA private key only)
            - `q` string — RSA second prime factor (RSA private key only)
            - `qi` string — RSA first CRT coefficient (RSA private key only)
            - `x` string — X coordinate (EC only)
            - `y` string — Y coordinate (EC only)
          - `subject` string
          - `url` string
        - `type` 'api_key' | 'oauth2' | 'basic_auth'
      - `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' | 'paused'
      - `support_email` string
      - `uid` string
      - `updated_at` string
      - `url` string
    - `pagination` DatastorePaginationData
      - `has_next_page` boolean
      - `has_prev_page` boolean
      - `next_page_cursor` string
      - `per_page` integer
      - `prev_page_cursor` string
      - `total` integer

## Other responses

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

## Changes

- **2026-06-18** (v3) `274ed78eabfc` — 1 info
  - added the optional property `allOf[subschema #2]/data/allOf[#/components/schemas/models.PagedResponse]/pagination/allOf[#/components/schemas/datastore.PaginationData]/total` to the response with the `200` status
- **2026-04-21** (v3) `743b89d7f7d3` — 2 breaking, 5 warning, 1 info
  - the response property `allOf[subschema #2]/data/allOf[#/components/schemas/models.PagedResponse]/pagination` became nullable for the status `200`
  - the `allOf[subschema #2]/data/allOf[#/components/schemas/models.PagedResponse]/pagination` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - removed the optional property `allOf[subschema #2]/data/allOf[#/components/schemas/models.PagedResponse]/pagination/has_next_page` from the response with the `200` status
  - removed the optional property `allOf[subschema #2]/data/allOf[#/components/schemas/models.PagedResponse]/pagination/has_prev_page` from the response with the `200` status
  - …4 more
- **2026-03-19** (v3) `990a51cff1cc` — 1 warning, 1 info
  - added the new `basic_auth` enum value to the `allOf[subschema #2]/data/allOf[subschema #2]/content/items/authentication/type` response property for the response status `200`
  - added the optional property `allOf[subschema #2]/data/allOf[subschema #2]/content/items/authentication/basic_auth` to the response with the `200` status
- …earlier changes not shown

[Full history](https://skmtc.dev/getconvoy/apis/convoy-api-reference/changes/v1/projects/:projectID/endpoints/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/39d232638cd2/schema)
