---
url: /orchestration/reference/operations/GetService.md
description: 'GET /v2/services/{serviceId} — Get a single service by id, e.g. "image/flux2/klein/createImage/9b", with its bucketed'
---

> Documentation index: https://developer.civitai.com/llms.txt — every page on this site has a markdown version at its URL + `.md`.

# Get a single service by id, e.g. "image/flux2/klein/createImage/9b", with its bucketed

`GET https://orchestration.civitai.com/v2/services/{serviceId}`

Operation `GetService` · Services · Civitai Orchestration API, generated from the published OpenAPI spec ([v2-consumers.json](https://developer.civitai.com/openapi/v2-consumers.json)); the interactive HTML page is this URL without `.md`.

Get a single service by id, e.g. "image/flux2/klein/createImage/9b", with its bucketed
history over the window.

## Authentication

The spec marks this operation anonymous (`security: []`): no token is needed.

## Parameters

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `serviceId` | path | string | yes | The service id. |
| `window` | query | string | no | Window the summary metrics and history cover: 1h, 24h or 7d. (default `"24h"`) |
| `interval` | query | string | no | History bucket size: 5m, 1h or 1d. (default `"1h"`) |

## Responses

### 200 OK

Content type: `application/json`.

Schema `ServiceResponse` — A service we offer.

| Field | Type | Required | Description |
|---|---|---|---|
| `id` | string | yes | Variable-depth path, e.g. "image/flux2/klein/createImage/9b". Opaque: read `parameters` rather than splitting this on "/", as the depth and the meaning of each segment differ per engine. |
| `category` | string | yes | The id's first segment. |
| `parameters` | map of string | yes | The id decomposed, e.g. { engine: flux2, model: klein, operation: createImage }. |
| `step` | string, nullable | no | The workflow step $type this service is reached through. |
| `submit` | string, nullable | no | Where to submit this service. |
| `estimate` | string, nullable | no | Returns the exact cost of a given input without running it. |
| `name` | string, nullable | no |  |
| `description` | string, nullable | no |  |
| `tags` | array of string | yes |  |
| `strengths` | string, nullable | no |  |
| `weaknesses` | string, nullable | no |  |
| `releasedAt` | string (date-time), nullable | no |  |
| `modalities` | `ModalitiesResponse` | no | What this consumes and produces. Independent of `category`, and null for services with no meaningful modality. |
| `status` | `ServiceStatus` (one of `unknown`, `available`, `degraded`, `unavailable`) | yes | Health over the requested window. Always present: a service with no traffic reports "unknown" rather than nothing, so callers never have to distinguish absent from healthy. |
| `metrics` | `MetricsResponse` | no | Null when nothing ran in the window. |
| `history` | `ServiceHistory` | no | The metric time series over the window. Only present when a single service is requested — the list omits it to stay cheap. |

### 400 Bad Request

Content type: `application/json`.

Schema `ProblemDetails`.

| Field | Type | Required | Description |
|---|---|---|---|
| `type` | string, nullable | no |  |
| `title` | string, nullable | no |  |
| `status` | integer (int32), nullable | no |  |
| `detail` | string, nullable | no |  |
| `instance` | string, nullable | no |  |

### 404 Not Found

Content type: `application/json`.

Schema `ProblemDetails` — fields as listed above.
