---
title: "GET /user — Get profile of API key owner"
url: https://lumean.app/tr/developers/docs/api/get-user
locale: tr
description: "Get profile of API key owner"
generated: 2026-10-17
operationId: profile.show
method: GET
path: /user
scopes: [profile.read]
spec_version: 0.0.1
---

# GET /user

**Get profile of API key owner**

Returns the profile of the user the API key belongs to.

The base response carries the id, email, interface language (`lang_code`), whether
Telegram is linked (`has_telegram`) and the creation/update timestamps.

Everything else is opt-in through `include` — a comma-separated list of sections. The
full set of accepted values, with explanations, is documented on the parameter itself
(**Params** tab); an unknown value is silently ignored rather than rejected.

The common case — checking how much generation is left:
`GET /user?include=subscriptions,usage`.

Read-only, and always scoped to the key owner: internal and administrative fields are
never returned.

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

- Gerekli izin: `profile.read`

## İstek

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

## Parametreler

| Alan | Yer | Tür | Zor. | Açıklama |
| --- | --- | --- | --- | --- |
| `include` | query | `string` — `wallets` · `telegram` · `subscriptions` · `referral` · `order_settings` · `entitlements` · `usage` · `unread_notifications_count` — ≤ 200 karakter | — | Which extra sections to merge into the response. Comma-separated, **no spaces**. An unknown value is silently ignored (no error), so a typo simply looks like a missing section. \| Value \| What it adds \| \| --- \| --- \| \| `subscriptions` \| Active subscriptions with the remaining token balance (`subscriptions[].items[]`) — the main way to see how much generation is left \| \| `usage` \| Current limit consumption per service (same data as `GET /usage`) \| \| `entitlements` \| Capabilities granted by the plan: which services you may use \| \| `wallets` \| Wallets and LMC balances. In the subscription-only model this section is omitted even when requested — read the remaining allowance from `subscriptions` \| \| `order_settings` \| User order preferences (delayed start and its delay) \| \| `telegram` \| The linked Telegram account \| \| `referral` \| The active referral programme. Omitted when the referral feature is off \| \| `unread_notifications_count` \| Number of unread notifications (an integer at the root of `data`) \| Example: `?include=subscriptions,usage,entitlements`. |

## İ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` | `object` | zorunlu | Profile of the key owner. The six fields below always come back; anything else is added by the `include` parameter and is not part of the schema — each section mirrors the shape of the corresponding profile endpoint: \| `include` value \| What it adds \| \| --- \| --- \| \| `subscriptions` \| The same payload as `GET /subscriptions` \| \| `usage` \| The same payload as `GET /usage` \| \| `entitlements` \| Capabilities of the active plan \| \| `wallets` \| Wallets and LMC balances \| \| `order_settings` \| Saved order-creation preferences \| \| `telegram` \| Telegram link \| \| `referral` \| Referral code and statistics \| \| `unread_notifications_count` \| Number of unread notifications \| |
| `data.id` | `integer` | zorunlu | ID of the account that owns the key. |
| `data.email` | `string` | zorunlu | Account e-mail address. |
| `data.lang_code` | `string` | zorunlu | Account language, ISO-639-1. It determines the language of `message` and of translatable names. |
| `data.has_telegram` | `boolean` | zorunlu | Whether Telegram is linked. Details of the link come with `?include=telegram`. |
| `data.created_at` | `string` | zorunlu | When the account was registered, ISO 8601. |
| `data.updated_at` | `string` | zorunlu | When the profile last changed, ISO 8601. |

**Örnek**

```json
{
  "success": true,
  "message": "Success",
  "data": {
    "id": 501,
    "email": "ava.creator@example.com",
    "lang_code": "en",
    "display_currency": null,
    "has_telegram": false,
    "created_at": "2026-01-15T09:00:00+00:00",
    "updated_at": "2026-07-15T09:05:00+00:00",
    "subscriptions": [
      {
        "id": 301,
        "user_id": 501,
        "status": "active",
        "billing_anchor_at": "2026-01-15T00:00:00+00:00",
        "current_period_start": "2026-07-15T00:00:00+00:00",
        "current_period_end": "2026-08-15T00:00:00+00:00",
        "canceled_at": null,
        "items": [
          {
            "id": 601,
            "subscription_id": 301,
            "subscription_plan_id": 3,
            "plan": {
              "id": 3,
              "code": "creator",
              "name": "Creator",
              "description": "For solo creators publishing regularly across voice and image generation.",
              "tagline": "Solo creators publishing weekly across voice and image.",
              "price_monthly": 2200,
              "price_monthly_formatted": 22,
              "discount": 0,
              "effective_price_monthly": 2200,
              "effective_price_monthly_formatted": 22,
              "asset": {
                "id": 1,
                "code": "LUMC",
                "kind": "money",
                "precision": 2,
                "name": "LumCoin",
                "deleted_at": null,
                "created_at": "2026-01-10T09:00:00+00:00",
                "updated_at": "2026-01-10T09:00:00+00:00"
              },
              "token_allowance_monthly": 30000,
              "concurrent_jobs": 4,
              "team_seats": 1,
              "priority_api_queue": false,
              "commercial_licence": true,
              "is_popular": false,
              "is_active": true,
              "sort_order": 30,
              "metadata": null,
              "created_at": "2026-05-10T00:00:00+00:00",
              "updated_at": "2026-05-10T00:00:00+00:00"
            },
            "status": "active",
            "is_usable": true,
            "billing_period": "monthly",
            "quantity": 1,
            "unit_amount": 2200,
            "unit_amount_formatted": 22,
            "currency_asset": {
              "id": 1,
              "code": "LUMC",
              "kind": "money",
              "precision": 2,
              "name": "LumCoin",
              "deleted_at": null,
              "created_at": "2026-01-10T09:00:00+00:00",
              "updated_at": "2026-01-10T09:00:00+00:00"
            },
            "token_allowance": 30000,
            "tokens_used": 8200,
            "tokens_remaining": 21800,
            "unlimited_service_codes": [],
            "start_at": "2026-07-15T00:00:00+00:00",
            "end_at": "2026-08-15T00:00:00+00:00",
            "canceled_at": null,
            "created_at": "2026-07-15T09:05:00+00:00"
          }
        ],
        "created_at": "2026-01-15T09:05:00+00:00",
        "updated_at": "2026-07-15T09:05:00+00:00"
      }
    ],
    "entitlements": [
      {
        "id": 850,
        "user_id": 501,
        "entitlement_id": 1,
        "entitlement": {
          "id": 1,
          "code": "beta_access",
          "name": "Beta Access",
          "metadata": null,
          "is_active": true,
          "created_at": "2026-01-10T09:00:00+00:00",
          "updated_at": "2026-01-10T09:00:00+00:00"
        },
        "source_subscription_item_id": 601,
        "starts_at": "2026-07-15T00:00:00+00:00",
        "ends_at": "2026-08-15T00:00:00+00:00",
        "status": "active",
        "created_at": "2026-07-15T09:05:00+00:00",
        "is_unlimited": false
      },
      {
        "id": 851,
        "user_id": 501,
        "entitlement_id": 2,
        "entitlement": {
          "id": 2,
          "code": "elevenlabs_tts",
          "name": "entitlement.name.elevenlabs_tts",
          "metadata": null,
          "is_active": true,
          "created_at": "2026-01-10T09:00:00+00:00",
          "updated_at": "2026-01-10T09:00:00+00:00"
        },
        "source_subscription_item_id": 601,
        "starts_at": "2026-07-15T00:00:00+00:00",
        "ends_at": "2026-08-15T00:00:00+00:00",
        "status": "active",
        "created_at": "2026-07-15T09:05:00+00:00",
        "is_unlimited": false
      }
    ],
    "usage": [
      {
        "limit_id": 10,
        "service_id": 1,
        "service_code": "sfx",
        "service_name": "Sound Effects",
        "entitlement_id": null,
        "entitlement_code": null,
        "limit_type": "hourly",
        "limit_value": 100,
        "used": 0,
        "remaining": 100,
        "period_start": null,
        "period_end": null,
        "resets_in": null,
        "token_unlimited": false
      },
      {
        "limit_id": 11,
        "service_id": 2,
        "service_code": "music",
        "service_name": "Music Generation",
        "entitlement_id": null,
        "entitlement_code": null,
        "limit_type": "hourly",
        "limit_value": 100,
        "used": 0,
        "remaining": 100,
        "period_start": null,
        "period_end": null,
        "resets_in": null,
        "token_unlimited": false
      },
      {
        "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."
}
```

### 422 — Validation error. Offending fields are listed in `errors`.

**Yanıt alanları**

| Alan | Tür | Zor. | Açıklama |
| --- | --- | --- | --- |
| `message` | `string` | zorunlu | Errors overview. |
| `errors` | `object` | zorunlu | A detailed description of each field that failed validation. |
| `errors.*` | `array<string>` — rastgele anahtarlar | — |  |

**Örnek**

```json
{
  "message": "string",
  "errors": {}
}
```

---

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