К содержанию
Lumean API

GET/user

Возвращает профиль пользователя, которому принадлежит API-ключ.

Базовый ответ: идентификатор, email, язык интерфейса (lang_code), признак привязки Telegram (has_telegram) и даты создания/обновления.

Всё остальное подключается параметром include — список секций через запятую. Полный перечень допустимых значений с расшифровкой смотрите в описании самого параметра (вкладка Params); неизвестное значение молча игнорируется, ошибки не будет.

Частый сценарий — узнать, сколько генерации осталось: GET /user?include=subscriptions,usage.

Эндпоинт read-only и всегда отдаёт данные строго в контексте владельца ключа: служебные и административные поля не возвращаются.

Требуемое право ключа: profile.read.

На этой странице(3)

Параметры

Поля ввода живут прямо в строке запроса: подставьте значение — и получите готовый URL. Ниже — тип, обязательность и допустимые значения каждого параметра.

GEThttps://api.lumean.app/api/public/user
  • stringв queryнеобязательный≤ 200 симв.

    Какие дополнительные секции подмешать в ответ. Список через запятую, без пробелов. Неизвестное значение молча игнорируется (ошибки не будет), поэтому опечатка выглядит как «секция не пришла».

    ЗначениеЧто добавляет в ответ
    subscriptionsАктивные подписки с остатком токенов (subscriptions[].items[]) — основной способ узнать, сколько генерации осталось
    usageТекущее использование лимитов по сервисам (то же, что GET /usage)
    entitlementsВозможности, выданные тарифом: какие сервисы вам доступны
    walletsКошельки и балансы LMC. В режиме «без аванса» секция не возвращается даже при явном запросе — остаток услуги смотрите в subscriptions
    order_settingsПользовательские настройки заказа (отложенный старт и его задержка)
    telegramПривязанный Telegram-аккаунт
    referralАктивная реферальная программа. Не возвращается, если реферальная механика отключена
    unread_notifications_countЧисло непрочитанных уведомлений (целое число в корне data)

    Пример: ?include=subscriptions,usage,entitlements.

    Допустимые значения (можно несколько через запятую)

Возможные ответы

200

Профиль владельца ключа с опциональными includes

Пример тела
{
  "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
      }
    ]
  }
}
Поля ответа
successобязательное

Признак успеха. Решение принимайте по HTTP-коду: у любого ответа 2xx здесь true, а ошибка приходит телом другой формы, где этого поля может не быть вовсе.

boolean
messageобязательное

Пояснение для человека, на языке аккаунта. Показать пользователю можно; разбирать программно — нет: формулировки меняются без предупреждения и кодом ошибки не являются.

string
dataобязательное

Профиль владельца ключа. Шесть полей ниже приходят всегда; всё остальное добавляется параметром include и в схеме не описано — форма секции совпадает с ответом профильного эндпоинта:

Значение includeЧто добавится
subscriptionsТо же, что отдаёт GET /subscriptions
usageТо же, что отдаёт GET /usage
entitlementsВозможности активного тарифа
walletsКошельки и остатки LMC
order_settingsСохранённые предпочтения создания заказа
telegramПривязка Telegram
referralРеферальный код и статистика
unread_notifications_countЧисло непрочитанных уведомлений
object
idобязательное

ID аккаунта — владельца ключа.

integer
emailобязательное

Почта аккаунта.

string
lang_codeобязательное

Язык аккаунта, ISO-639-1. На нём приходят message и переводимые названия.

string
has_telegramобязательное

Привязан ли Telegram. Подробности привязки — через ?include=telegram.

boolean
created_atобязательное

Когда аккаунт зарегистрирован, ISO 8601.

string
updated_atобязательное

Когда профиль последний раз менялся, ISO 8601.

string
401

API-ключ отсутствует, неизвестен, неактивен или истёк

Разобрать этот ответ
Пример тела
{
  "success": false,
  "message": "API key is missing. Provide it in the X-API-KEY header.",
  "data": null
}
Поля ответа
successобязательное

Всегда false в ответах об ошибке.

boolean
messageобязательное

Текст ошибки на языке ключа (задаётся заголовком X-Locale).

string
dataобязательное

Всегда null, когда запрос отклонён до обработки.

может быть null
null
403

У ключа нет права profile.read

Разобрать этот ответ
Пример тела
{
  "success": false,
  "message": "This API key does not have permission to perform this action."
}
Поля ответа
successобязательное

Всегда false в ответах об ошибке.

boolean
messageобязательное

Текст ошибки на языке ключа (задаётся заголовком X-Locale).

string
422

Ошибка валидации. Поля с ошибками перечислены в errors.

Разобрать этот ответ
Пример тела
{
  "message": "string",
  "errors": {}
}
Поля ответа
messageобязательное

Errors overview.

string
errorsобязательное

A detailed description of each field that failed validation.

object
*необязательное
произвольные ключи
array<string>

Скормить страницу ИИ

Открыть .mdllm.md

спека 0.0.1