---
title: "List endpoints"
method: GET
path: "/projects/{projectId}/endpoints"
tags: ["EndpointService"]
---

# List endpoints

`GET /projects/{projectId}/endpoints`

Lists the dedicated inference endpoints owned by the specified project.

## Path parameters

- `projectId` string, required — Project identifier.

## Query parameters

- `limit` integer — Maximum number of endpoints to return.
- `after` string — Cursor from a previous response.
- `orderBy` string — Sort field for the results. Supports `created_at` or `updated_at`, optionally followed by `asc` or `desc`.
- `filter` string — Filter expression using `name`, `created_at`, or `updated_at` with comparison operators and AND/OR/NOT; timestamps must be RFC 3339 strings. `name` supports substring matching with `:` and prefix/suffix wildcards with `*`, and accepts a bare endpoint name or `<project_slug>/<endpoint_name>`.

## Response `200`

OK

- DEListEndpointsResponse — Response containing endpoints and pagination metadata.
  - `data` DEEndpoint[], required — The list of endpoints.
    - `id` string, required — Unique endpoint identifier.
    - `projectId` string, required — ID of the project that owns the endpoint.
    - `name` string, required — Project-qualified endpoint name in the form `<project_slug>/<endpoint_name>`. Pass this value as `model` in inference requests. Create and update requests may use either a bare endpoint name or the qualified form; a supplied project slug must match the project in the request path.
    - `createdAt` string, date-time, required — Timestamp when the endpoint was created.
    - `updatedAt` string, date-time, required — Output only. Timestamp when the endpoint was last updated.
    - `etag` string, required — Opaque version tag for optimistic concurrency control. Supply on update/delete to ensure consistent read-modify-write. If not set, the write overwrites based on current state.
    - `trafficSplit` DETrafficSplitEntry[], required — Deployments eligible for live traffic and their capacity weights. An empty list leaves the endpoint unrouted.
      - `deploymentId` string, required — ID of a deployment under the endpoint that can receive live traffic.
      - `weight` number, required — Non-negative, finite weight applied to each ready replica. A deployment's effective routing capacity is `weight * readyReplicas`, and requests are distributed in proportion to that capacity. Set to `0` to remove the deployment from the live traffic split.
    - `visibility` 'VISIBILITY_PRIVATE' | 'VISIBILITY_INTERNAL', required — Who can discover the endpoint. `VISIBILITY_PRIVATE` restricts it to the project; `VISIBILITY_INTERNAL` shares it with the organization.
    - `endpointType` 'ENDPOINT_TYPE_DEDICATED' | 'ENDPOINT_TYPE_SERVERLESS' | 'ENDPOINT_TYPE_RESERVED', required — Serving class of the endpoint. Reserved endpoints use reserved capacity.
    - `deployments` DEDeploymentSummary[], required — Lightweight summaries of deployments under this endpoint. Retrieve a deployment through the endpoint's deployment API for full details.
      - `id` string, required — Deployment identifier.
      - `modelId` string, required — Deprecated. Use `model`. Model identifier being served.
      - `hardware` string — Hardware configuration selected by the deployment's config, such as its GPU type and count.
      - `trafficMode` 'TRAFFIC_MODE_LIVE' | 'TRAFFIC_MODE_SHADOW', required — Whether the deployment serves client-visible responses or only mirrored shadow traffic.
      - `state` 'DEPLOYMENT_STATE_PROVISIONING' | 'DEPLOYMENT_STATE_READY' | 'DEPLOYMENT_STATE_SCALING' | 'DEPLOYMENT_STATE_DEGRADED' | 'DEPLOYMENT_STATE_FAILED' | 'DEPLOYMENT_STATE_STOPPED' | 'DEPLOYMENT_STATE_STOPPING', required — Current state of the deployment.
      - `name` string, required — Inference-addressable name in the fully-qualified form "<project_slug>/<endpoint_name>/<deployment_name>". Pass it as the "model" field when calling the inference API to pin to this deployment.
      - `createdAt` string, date-time, required — Timestamp when the deployment was created.
      - `autoscaling` DEAutoscalingResponse, required — Autoscaling configuration for a deployment.
        - `minReplicas` integer, required — Minimum number of replicas. Omit on update to preserve the current value. Set both `minReplicas` and `maxReplicas` to `0` to stop the deployment.
        - `maxReplicas` integer, required — Maximum number of replicas. Defaults to `minReplicas`; omitting it on update preserves the current value.
        - `scaleDownWindow` string — Time a lower replica recommendation must remain stable before scaling down. Defaults to `5m`.
        - `scaleUpWindow` string — Stabilization window before scaling up.
        - `scaleToZeroWindow` string — Idle period after which the deployment automatically stops and releases its replicas.
        - `scalingMetrics` DEScalingMetric[] — Metrics and targets that drive replica recommendations. When omitted, the platform uses concurrent in-flight requests per replica.
          - `name` string, required — Metric name, such as `gpu_utilization`, `ttft`, `inflight_requests`, `e2e_latency`, `throughput_per_replica`, or `decoding_speed`.
          - `type` 'METRIC_TARGET_TYPE_VALUE' | 'METRIC_TARGET_TYPE_UTILIZATION' | 'METRIC_TARGET_TYPE_AVERAGE_VALUE', required — Whether `target` is an absolute value, a utilization percentage, or a per-replica average.
          - `target` number, required — Target interpreted according to `type`. Utilization uses a percentage from 0 to 100, value uses an absolute measurement, and average value uses a per-replica measurement.
          - `percentile` string — Percentile to evaluate for latency-based metrics: `p50`, `p90`, `p95`, or `p99`.
      - `desiredReplicas` integer — Number of replicas the autoscaler currently wants across all regions.
      - `readyReplicas` integer — Number of replicas currently ready to serve requests across all regions.
      - `model` string, required — Resource name of the served model in the form `projects/{projectId}/models/{modelId}/revisions/{revisionId}`. For public models, the model's owning project may differ from the deployment's project.
      - `estimatedEffectiveTrafficShare` number, double, required — Estimated fraction from 0 to 1 of endpoint traffic currently routed to this deployment.
    - `activeRolloutId` string — ID of the currently active rollout in an in-flight state, including paused.
  - `next_cursor` string — Cursor for the next page. Null if there are no more results.
  - `object` 'list', required — Object type. Always `list`.

## Other responses

- `default` — Default error response

---

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