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

# List deployments

`GET /projects/{projectId}/endpoints/{endpointId}/deployments`

Lists the deployments attached to an endpoint, including their model, configuration, scaling settings, placement, and current status.

## Path parameters

- `projectId` string, required — ID of the project that owns the endpoint.
- `endpointId` string, required — ID of the endpoint whose deployments are listed.

## Query parameters

- `limit` integer — Maximum number of deployments to return. Max 500, defaults to 50.
- `after` string — Cursor from a previous deployment list 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`, `state`, `model`, `created_at`, or `updated_at` with comparison operators and AND/OR/NOT; `state` takes a DeploymentState enum name and `model` takes a model resource name. `name` supports substring matching with `:` and prefix/suffix wildcards with `*`, and accepts a bare deployment name or `<project_slug>/<endpoint_name>/<deployment_name>`.

## Response `200`

OK

- DEListDeploymentsResponse — Deployments under an endpoint and pagination metadata.
  - `data` DEDeployment[], required — The list of deployments.
    - `id` string, required — Unique deployment identifier.
    - `projectId` string, required — ID of the project that owns the deployment.
    - `endpointId` string, required — ID of the endpoint that contains the deployment.
    - `name` string, required — Project- and endpoint-qualified deployment name in the form `<project_slug>/<endpoint_name>/<deployment_name>`. Pass it as `model` in an inference request to target this deployment directly instead of using the endpoint's traffic split.
    - `createdAt` string, date-time, required — Timestamp when the deployment was created.
    - `updatedAt` string, date-time, required — Timestamp when the deployment was last updated.
    - `modelId` string, required — Deprecated. Use `model`. Model identifier being served, populated during migration.
    - `modelRevisionId` string, required — Deprecated. Use `model` with a /revisions/{revisionId} segment. Pin to a specific model revision.
    - `model` string, required — Pinned model resource in the form `projects/{projectId}/models/{modelId}/revisions/{revisionId}`.
    - `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`.
    - `configId` string, required — Deprecated. Use `config`. Config revision identifier, populated during migration.
    - `config` string, required — Immutable config revision in the form `projects/{projectId}/configs/{configRevisionId}`.
    - `speculatorId` string — Deprecated. Use `speculator`. Speculative decoding model identifier derived from the deployment config.
    - `speculatorRevisionId` string — Deprecated. Use `speculator`. ID of the speculative decoding draft-model revision pinned at creation time.
    - `speculator` string — Pinned draft-model resource used for speculative decoding, in the same form as `model`. Omitted when speculative decoding is disabled.
    - `estimatedEffectiveTrafficShare` number, double — Estimated fraction in [0, 1] of endpoint traffic that reaches this deployment under the current routing configuration. Absent or unrouted deployments are 0.
    - `enableLora` boolean — Whether the deployment can dynamically load LoRA adapters.
    - `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.
    - `hardware` string, required — Hardware selected by the deployment config, including GPU type and count.
    - `trafficMode` 'TRAFFIC_MODE_LIVE' | 'TRAFFIC_MODE_SHADOW', required — Whether the deployment serves client-visible responses or only mirrored shadow traffic.
    - `runtimeInfo` DERuntimeInfo — Runtime information derived from the deployment's configuration.
      - `engineType` string — Serving engine, such as `vllm`, `trtllm`, or `sglang`.
      - `engineVersion` string — Version of the serving engine.
      - `functionCallingSupported` boolean — Whether the runtime accepts tool and function-calling requests.
      - `structuredOutputSupported` boolean — Whether the runtime can constrain generation to a structured output schema.
    - `desiredReplicas` integer — Number of replicas the autoscaler currently wants across all regions.
    - `status` DEDeploymentStatus, required — Current status of a deployment, derived at read time from internal state.
      - `state` 'DEPLOYMENT_STATE_PROVISIONING' | 'DEPLOYMENT_STATE_READY' | 'DEPLOYMENT_STATE_SCALING' | 'DEPLOYMENT_STATE_DEGRADED' | 'DEPLOYMENT_STATE_FAILED' | 'DEPLOYMENT_STATE_STOPPED' | 'DEPLOYMENT_STATE_STOPPING', required — High-level lifecycle state.
      - `readyReplicas` integer — Total replicas actively serving traffic across all clusters.
      - `message` string, required — Human-readable explanation of the current state.
      - `scheduledReplicas` integer — Replicas the scheduler has placed on clusters.
    - `placement` union — Placement controls where a deployment is scheduled.
      - object
        - `inline` DEInlinePlacement, required — Inline placement parameters expanded into scheduling rules by the server.
          - `regions` string[] — Regions where the deployment is allowed to run. Multiple regions allow best-effort replica spreading.
          - `constraint` 'ENFORCEMENT_REQUIRED' | 'ENFORCEMENT_PREFERRED' — How strictly the regions list is enforced.
      - object
        - `profile` string, required — UID of a saved placement profile.
  - `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/revisions/468edbdc879c/schema)
