---
title: "GET /usage/{service} — Get Usage for Service"
url: https://lumean.app/tr/developers/docs/api/get-usage-service
locale: tr
description: "Get Usage for Service"
generated: 2026-10-17
operationId: billing.usageService
method: GET
path: "/usage/{service}"
scopes: [billing.read]
spec_version: 0.0.1
---

# GET /usage/{service}

**Get Usage for Service**

Same as `GET /usage`, narrowed to one service: consumption, remaining allowance and
the reset date.

Handy as a pre-flight check before a large job. An unknown or unavailable service
code returns `404`.

**Required key permission:** `billing.read`.

- Gerekli izin: `billing.read`

## İstek

```bash
curl -X GET 'https://api.lumean.app/api/public/usage/{service}' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY'
```

## Parametreler

| Alan | Yer | Tür | Zor. | Açıklama |
| --- | --- | --- | --- | --- |
| `service` | path | `string` | zorunlu | Service code — a short latin string rather than a number. The current set is: \| Code \| What it is \| \| --- \| --- \| \| `elevenlabs` \| Text-to-speech on the ElevenLabs engine \| \| `heygen` \| Text-to-speech on the HeyGen engine \| \| `cartesia` \| Text-to-speech on the Cartesia engine \| \| `fishaudio` \| Text-to-speech on the Fish Audio engine \| \| `lumimg` \| Image generation \| \| `sfx` \| Sound effects \| \| `music` \| Music tracks \| \| `voice_search` \| Finding similar voices from an audio clip you upload \| **Where to get the ones for your account:** `GET /usage` returns a `service_code` for every service available to you — exactly the values this path accepts. The same code sits in a template’s `service_key` field. The list is open-ended: connecting a new service adds new codes, so do not hard-code the table above. An unknown code, or one you have no access to, yields `404`. default: `elevenlabs` |

## İstek gövdesi

Gövde yok.

## Yanıtlar

### 200 — Success. The payload is in `data`.

**Yanıt alanları**

| Alan | Tür | Zor. | Açıklama |
| --- | --- | --- | --- |
| `success` | `boolean` | zorunlu | Success flag. Branch on the HTTP status code instead: any 2xx response carries `true` here, while an error comes back in a different shape that need not contain this field at all. |
| `message` | `string` | zorunlu | A human-readable note in the account language. Fine to show to a user; do not parse it — the wording changes without notice and is not an error code. |
| `data` | `array<object>` | zorunlu | Limits for a single service — the same records as in `GET /usage`, filtered down. Usually one or two. |
| `data[].limit_id` | `integer` | zorunlu | Identifier of the limit record. |
| `data[].service_id` | `integer` — nullable | zorunlu | ID of the service the limit applies to. `null` for limits not tied to a service. |
| `data[].service_code` | `string` — nullable | zorunlu | Service code — the value for the `GET /usage/{service}` path and for a template’s `service_key`. |
| `data[].service_name` | `string` — nullable | zorunlu | Service name for display, in the account language. |
| `data[].entitlement_id` | `integer` — nullable | zorunlu | ID of the subscription entitlement that granted this limit. |
| `data[].entitlement_code` | `string` — nullable | zorunlu | Code of the subscription entitlement that granted the limit. |
| `data[].limit_type` | `string` | zorunlu | What exactly is being capped. Two fundamentally different things: - a **periodic quota** — consumption over a period, reset at `period_end`; - **concurrent-task slots** — freed on their own as soon as your running orders finish. Exhausting the first means waiting for the period to end; the second, minutes. |
| `data[].limit_value` | `integer` — nullable | zorunlu | The ceiling under the current subscription. `null` means there is no ceiling (see `token_unlimited`). |
| `data[].used` | `integer` | zorunlu | How much has been consumed in the current period. |
| `data[].remaining` | `integer` — nullable | zorunlu | How much is left. `null` when unlimited. |
| `data[].period_start` | `string` — nullable | zorunlu | Start of the current accounting period, ISO 8601. `null` while no accounting period is open yet (`used` is then 0): the limit was never touched, or was consumed only in past periods — a period opens with the first consumption, not by the calendar. |
| `data[].period_end` | `string` — nullable | zorunlu | End of the current accounting period, ISO 8601 — the counter resets at that moment. `null` wherever `period_start` is `null` (no period open yet) and for limits without a period (`concurrent`, `total`). |
| `data[].resets_in` | `string` — nullable | zorunlu | Time left until the counter resets, in human-readable form. `null` whenever `period_end` is `null`. |
| `data[].token_unlimited` | `boolean` | zorunlu | `true` means tokens for this service are unlimited. It does **not** lift the cap on concurrent tasks. |
| `data[].is_exceeded` | `boolean` | zorunlu | The limit is exhausted: the next order for this service is rejected until the counter resets or a slot frees up. |
| `data[].usage_percentage` | `number` | zorunlu | Share consumed, 0–100. Always 0 when unlimited. |

**Örnek**

```json
{
  "success": true,
  "message": "Success",
  "data": [
    {
      "limit_id": 12,
      "service_id": 3,
      "service_code": "elevenlabs",
      "service_name": "ElevenLabs TTS",
      "entitlement_id": 2,
      "entitlement_code": "elevenlabs_tts",
      "limit_type": "monthly",
      "limit_value": 500000,
      "used": 128400,
      "remaining": 371600,
      "period_start": "2026-07-01T00:00:00+00:00",
      "period_end": "2026-08-01T00:00:00+00:00",
      "resets_in": "2 weeks from now",
      "token_unlimited": false
    }
  ]
}
```

### 401 — The key is missing, unknown, disabled or expired.

**Yanıt alanları**

| Alan | Tür | Zor. | Açıklama |
| --- | --- | --- | --- |
| `success` | `boolean` | zorunlu | Always `false` in error responses. |
| `message` | `string` | zorunlu | Error text in the key's language (set through the `X-Locale` header). |
| `data` | `null` — nullable | zorunlu | Always `null` when the request is rejected before processing. |

**Örnek**

```json
{
  "success": false,
  "message": "API key is missing. Provide it in the X-API-KEY header.",
  "data": null
}
```

### 403 — The key lacks the required permission, or the object belongs to another user.

**Yanıt alanları**

| Alan | Tür | Zor. | Açıklama |
| --- | --- | --- | --- |
| `success` | `boolean` | zorunlu | Always `false` in error responses. |
| `message` | `string` | zorunlu | Error text in the key's language (set through the `X-Locale` header). |

**Örnek**

```json
{
  "success": false,
  "message": "This API key does not have permission to perform this action."
}
```

### 404 — Not found, or not reachable with this key.

**Yanıt alanları**

| Alan | Tür | Zor. | Açıklama |
| --- | --- | --- | --- |
| `message` | `string` | zorunlu | Error overview. |

**Örnek**

```json
{
  "success": false,
  "message": "Resource not found."
}
```

---

- Bu sayfa tarayıcıda: https://lumean.app/tr/developers/docs/api/get-usage-service
- Makine tarafından okunabilir tam başvuru: https://api.lumean.app/docs/llm.md
