Использование API
Создание API-токена
Для использования API необходимо создать API-токен в личном кабинете. Это можно сделать в разделе «Access Tokens»:
- Войдите на платформу
- Перейдите в раздел White Label → Access Tokens
- Нажмите кнопку «Create Token»
- Заполните форму создания токена и нажмите «OK»
- Скопируйте сгенерированный токен
Важно
Этот токен не хранится на серверах платформы. После нажатия кнопки «Done» вы больше не сможете получить к нему доступ. Обязательно скопируйте и сохраните токен в безопасном месте.
Использование API-токена в запросах
Для аутентификации добавьте query-параметр с именем AUTH_TOKEN и значением вашего созданного токена из раздела «Access Tokens» к каждому запросу. Например, для получения списка созданных планов подписки URL запроса будет выглядеть так:
https://api.nodul.ru/latenode/v1/whitelabel/plans?AUTH_TOKEN=YOUR_API_TOKENЭто аналогично применяется ко всем другим запросам.
Общий контейнер ответа для всех запросов
Каждый запрос, описанный в этой статье, возвращает стандартный формат ответа:
{
"success": true,
"request_id": "Spawv468Km1GW7ljPqGR",
"data": {},
"errors": []
}Поле data содержит данные, относящиеся к конкретному эндпоинту. Это поле data будет описано как формат ответа для каждого эндпоинта.
Коды ответов
Для успешных запросов код ответа всегда 200. Для неудачных запросов код ответа может быть либо 200, либо 500. Всегда проверяйте поле success в общем контейнере ответа. При возникновении ошибки это поле будет false, а массив errors не будет пустым.
Исключением является неавторизованный доступ к API. В этом случае код ответа всегда будет 401.
Обработка ошибок
Общий формат ответа об ошибке выглядит так:
{
"success": false,
"data": null,
"errors": [
{
"message": "error message",
"code": "error.code"
}
],
"request_id": "IvqOBSrwjaIozf2afu98"
}Для получения кода ошибки всегда обращайтесь к индексу 0 массива errors. Этот индекс зарезервирован и всегда используется для передачи кода ошибки клиенту.
Например, при неавторизованном доступе к API вы получите следующий ответ:
{
"success": false,
"data": null,
"errors": [
{
"message": "Unauthorized",
"code": "auth.Unauthorized"
}
],
"request_id": "xbpvv24sh4m3mALFhyZk"
}Получение списка квот вашей организации
URL:
https://api.nodul.ru/latenode/v1/whitelabel/quotasQuery-параметры:
Нет
Метод:
GET
Формат ответа (data):
- Field: quotas
Type: array
Description: Список квот
Contents:
- Field: alias
Type: string
Description: Алиас квоты. Возможные значения:
min_execution_charging_period_in_mcs — Минимальный период списания за выполнение (микросекунды)
regular_microcredits — Микрокредиты выполнения
connected_accounts_limit — Лимит подключённых аккаунтов
parallel_executions_limit — Лимит параллельных выполнений
ai_assistant_request_limit — Лимит запросов ИИ-ассистента
plug_and_play_microcredits — Plug&Play микротокены
min_triggering_interval_in_seconds — Минимальный интервал триггера (секунды)
active_scenarios_limit — Лимит активных сценариев
exec_history_availability_period_in_min — Период доступности истории выполнения (минуты)
---
- Field: value
Type: object
Description: Объект со значением квоты
Contents:
- Field: int64
Type: string
Description: Числовое значение квоты (если применимо)
---
- Field: bool
Type: boolean
Description: Булево значение квоты (если применимо)Пример запроса:
curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/quotas?AUTH_TOKEN=YOUR_API_TOKEN'Пример ответа:
{
"success": true,
"request_id": "UrUNdGscccEE3TJViSL0",
"data": {
"quotas": [
{
"alias": "min_execution_charging_period_in_mcs",
"value": {
"int64": "3000000",
"bool": false
}
},
{
"alias": "ai_assistant_request_limit",
"value": {
"int64": "5000",
"bool": false
}
},
{
"alias": "parallel_executions_limit",
"value": {
"int64": "5000",
"bool": false
}
},
{
"alias": "exec_history_availability_period_in_min",
"value": {
"int64": "6000",
"bool": false
}
},
{
"alias": "plug_and_play_microcredits",
"value": {
"int64": "5000000000000",
"bool": false
}
},
{
"alias": "active_scenarios_limit",
"value": {
"int64": "5000",
"bool": false
}
},
{
"alias": "min_triggering_interval_in_seconds",
"value": {
"int64": "20",
"bool": false
}
},
{
"alias": "connected_accounts_limit",
"value": {
"int64": "5000",
"bool": false
}
},
{
"alias": "regular_microcredits",
"value": {
"int64": "10000000",
"bool": false
}
}
]
},
"errors": []
}Получение списка созданных планов
URL:
https://api.nodul.ru/latenode/v1/whitelabel/plansQuery-параметры:
Нет
Метод:
GET
Формат ответа:
- Field: plans
Type: array
Description: Список тарифных планов
Content:
- Field: id
Type: string
Description: ID тарифного плана
---
- Field: name
Type: string
Description: Название тарифного плана
---
- Field: status
Type: string
Description: Текущий статус тарифного плана.
Возможные значения:
plan_status_archived – план архивирован
plan_status_active – план активен
---
- Field: features
Type: array
Description: Список функций тарифного плана
Content:
- Field: alias
Type: string
Description: Алиас функции. Возможные значения:
min_execution_charging_period_in_mcs – Минимальный период списания за выполнение (микросекунды)
regular_microcredits – Микрокредиты выполнения
connected_accounts_limit – Лимит подключённых аккаунтов
parallel_executions_limit – Лимит параллельных выполнений
ai_assistant_request_limit – Лимит запросов ИИ-ассистента
plug_and_play_microcredits – Plug&Play микротокены
min_triggering_interval_in_seconds – Минимальный интервал триггера (секунды)
active_scenarios_limit – Лимит активных сценариев
exec_history_availability_period_in_min – Период доступности истории выполнения (минуты)
---
- Field: value
Type: object
Description: Объект, содержащий значение функции
Content:
- Field: int64
Type: string
Description: Если функция числовая, значение указывается здесь
---
- Field: bool
Type: boolean
Description: Если функция булева, значение указывается здесь
---
- Field: created_at
Type: string
Description: Дата создания плана
---
- Field: updated_at
Type: string
Description: Дата последнего обновления планаПример запроса:
curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/plans?AUTH_TOKEN=YOUR_API_TOKEN'Пример ответа:
{
"success": true,
"request_id": "dPuN9LQBj1GUG805x27B",
"data": {
"plans": [
{
"id": "0",
"name": "Demo Test Plan",
"status": "plan_status_active",
"features": [
{
"alias": "min_execution_charging_period_in_mcs",
"value": {
"int64": "3000000",
"bool": false
}
},
{
"alias": "regular_microcredits",
"value": {
"int64": "10000000000",
"bool": false
}
},
{
"alias": "connected_accounts_limit",
"value": {
"int64": "100",
"bool": false
}
},
{
"alias": "parallel_executions_limit",
"value": {
"int64": "10",
"bool": false
}
},
{
"alias": "ai_assistant_request_limit",
"value": {
"int64": "500",
"bool": false
}
},
{
"alias": "plug_and_play_microcredits",
"value": {
"int64": "10000000",
"bool": false
}
},
{
"alias": "min_triggering_interval_in_seconds",
"value": {
"int64": "120",
"bool": false
}
},
{
"alias": "active_scenarios_limit",
"value": {
"int64": "100",
"bool": false
}
},
{
"alias": "exec_history_availability_period_in_min",
"value": {
"int64": "1440",
"bool": false
}
}
],
"created_at": "2025-04-29T13:00:15Z",
"updated_at": "2025-04-29T13:00:15Z"
}
]
},
"errors": []
}Создание тарифного плана
URL:
https://api.nodul.ru/latenode/v1/whitelabel/plansМетод:
POST
Body-параметры:
- Field: name
Type: string
Description: Название нового тарифного плана
---
- Field: features
Type: array
Description: Список функций нового плана
Content:
- Field: alias
Type: string
Description: Алиас функции. Возможные значения:
min_execution_charging_period_in_mcs – Минимальный период списания за выполнение (микросекунды)
regular_microcredits – Микрокредиты выполнения
connected_accounts_limit – Лимит подключённых аккаунтов
parallel_executions_limit – Лимит параллельных выполнений
ai_assistant_request_limit – Лимит запросов ИИ-ассистента
plug_and_play_microcredits – Plug&Play микротокены
min_triggering_interval_in_seconds – Минимальный интервал триггера (секунды)
active_scenarios_limit – Лимит активных сценариев
exec_history_availability_period_in_min – Период доступности истории выполнения (минуты)
---
- Field: value
Type: object
Description: Объект, содержащий значение функции
Content:
- Field: int64
Type: string
Description: Указывается, если значение числовое
---
- Field: bool
Type: boolean
Description: Указывается, если значение булевоФормат ответа (data):
- Field: plan
Type: object
Description: Объект с данными созданного плана
Content:
- Field: id
Type: string
Description: ID нового тарифного плана
---
- Field: name
Type: string
Description: Название нового тарифного плана
---
- Field: status
Type: string
Description: Статус плана. Возможные значения:
plan_status_archived – план архивирован
plan_status_active – план активен
---
- Field: features
Type: array
Description: Список функций
Content:
- Field: alias
Type: string
Description: Алиас функции
---
- Field: value
Type: object
Description: Объект значения функции
Content:
- Field: int64
Type: string
Description: Числовое значение, если применимо
---
- Field: bool
Type: boolean
Description: Булево значение, если применимо
---
- Field: created_at
Type: string
Description: Дата создания плана
---
- Field: updated_at
Type: string
Description: Дата последнего обновления планаПример запроса:
curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/plans?AUTH_TOKEN=YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"name": "Plan Name",
"features": [
{
"alias": "active_scenarios_limit",
"value": {
"int64": "1",
"bool": false
}
},
{
"alias": "connected_accounts_limit",
"value": {
"int64": "1",
"bool": false
}
},
{
"alias": "plug_and_play_microcredits",
"value": {
"int64": "1000000",
"bool": false
}
},
{
"alias": "min_triggering_interval_in_seconds",
"value": {
"int64": "120",
"bool": false
}
},
{
"alias": "min_execution_charging_period_in_mcs",
"value": {
"int64": "3000000",
"bool": false
}
},
{
"alias": "exec_history_availability_period_in_min",
"value": {
"int64": "1",
"bool": false
}
},
{
"alias": "regular_microcredits",
"value": {
"int64": "1000000",
"bool": false
}
},
{
"alias": "parallel_executions_limit",
"value": {
"int64": "1",
"bool": false
}
},
{
"alias": "ai_assistant_request_limit",
"value": {
"int64": "1",
"bool": false
}
}
]
}'Пример ответа:
{
"success": true,
"request_id": "Iit8HDuiyKSO6CuGGHzW",
"data": {
"plan": {
"id": "0",
"name": "Plan Name",
"status": "plan_status_active",
"features": [
{
"alias": "plug_and_play_microcredits",
"value": {
"int64": "1000000",
"bool": false
}
},
{
"alias": "min_execution_charging_period_in_mcs",
"value": {
"int64": "3000000",
"bool": false
}
},
{
"alias": "parallel_executions_limit",
"value": {
"int64": "1",
"bool": false
}
},
{
"alias": "ai_assistant_request_limit",
"value": {
"int64": "1",
"bool": false
}
},
{
"alias": "active_scenarios_limit",
"value": {
"int64": "1",
"bool": false
}
},
{
"alias": "connected_accounts_limit",
"value": {
"int64": "1",
"bool": false
}
},
{
"alias": "min_triggering_interval_in_seconds",
"value": {
"int64": "120",
"bool": false
}
},
{
"alias": "exec_history_availability_period_in_min",
"value": {
"int64": "1",
"bool": false
}
},
{
"alias": "regular_microcredits",
"value": {
"int64": "1000000",
"bool": false
}
}
],
"created_at": "2025-05-05T14:57:47.716Z",
"updated_at": "2025-05-05T14:57:47.716Z"
}
},
"errors": []
}Обновление плана
URL:
https://api.nodul.ru/latenode/v1/whitelabel/plans/updateМетод:
POST
Query-параметры:
Нет
Body-параметры:
Важно
Этот API не поддерживает частичные обновления.
Поля name и features обязательны и должны содержать полные новые (или старые, если изменения не требуются) значения.
- Field: plan_id
Type: string
Description: ID плана для обновления
---
- Field: name
Type: string
Description: Новое название плана
---
- Field: features
Type: array
Description: Обновлённый список функций плана
Contents:
- Field: alias
Type: string
Description: Алиас функции. Возможные значения:
min_execution_charging_period_in_mcs — Минимальный период списания за выполнение (микросекунды)
regular_microcredits — Микрокредиты выполнения
connected_accounts_limit — Лимит подключённых аккаунтов
parallel_executions_limit — Лимит параллельных выполнений
ai_assistant_request_limit — Лимит запросов ИИ-ассистента
plug_and_play_microcredits — Plug&Play микрокредиты
min_triggering_interval_in_seconds — Минимальный интервал триггера (секунды)
active_scenarios_limit — Лимит активных сценариев
exec_history_availability_period_in_min — Период доступности истории выполнения (минуты)
---
- Field: value
Type: object
Description: Объект значения функции
Contents:
- Field: int64
Type: string
Description: Целочисленное значение, если применимо
---
- Field: bool
Type: boolean
Description: Булево значение, если применимоФормат ответа (data):
Тело ответа пустое. См. поле `success` в общем контейнере ответа.Пример запроса:
curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/plans/update?AUTH_TOKEN=YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"plan_id": "0",
"name": "new plan name",
"features": [
{
"alias": "active_scenarios_limit",
"value": {
"int64": "1",
"bool": false
}
},
{
"alias": "connected_accounts_limit",
"value": {
"int64": "1",
"bool": false
}
},
{
"alias": "plug_and_play_microcredits",
"value": {
"int64": "1000000",
"bool": false
}
},
{
"alias": "min_triggering_interval_in_seconds",
"value": {
"int64": "120",
"bool": false
}
},
{
"alias": "min_execution_charging_period_in_mcs",
"value": {
"int64": "3000000",
"bool": false
}
},
{
"alias": "exec_history_availability_period_in_min",
"value": {
"int64": "1",
"bool": false
}
},
{
"alias": "regular_microcredits",
"value": {
"int64": "1000000",
"bool": false
}
},
{
"alias": "parallel_executions_limit",
"value": {
"int64": "1",
"bool": false
}
},
{
"alias": "ai_assistant_request_limit",
"value": {
"int64": "1",
"bool": false
}
}
]
}'Пример ответа:
{
"success": true,
"request_id": "Spawv468Km1GW7ljPqGR",
"data": {},
"errors": []
}Архивирование плана
URL:
https://api.nodul.ru/latenode/v1/whitelabel/plans/archiveМетод:
POST
Body-параметры:
- Field: plan_id
Type: string
Description: ID плана для архивированияФормат ответа (data):
Тело ответа пустое. См. поле `success` в общем контейнере ответа.Пример запроса:
curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/plans/archive?AUTH_TOKEN=YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"plan_id": "0"
}'Пример ответа:
{
"success": true,
"request_id": "rG0F38nQ4aE8Gy0TDh3C",
"data": {},
"errors": []
}Получение списка подписок
URL:
https://api.nodul.ru/latenode/v1/whitelabel/subscriptions/listМетод:
POST
Body-параметры:
- Field: options
Type: object
Description: Опции запроса
Contents:
- Field: include_consumption
Type: boolean
Description: Включать ли информацию о потреблении ресурсов в ответ
---
- Field: filters
Type: object
Description: Фильтры для выбора подписок
Contents:
- Field: user_id
Type: string
Description: Фильтр по ID пользователя. Может быть пустым
---
- Field: statuses
Type: array
Description: Массив статусов подписок для фильтрации.
Возможные значения:
subscription_status_active — активная подписка
subscription_status_cancelled — отменённая подписка
---
- Field: consumption
Type: object
Description: Фильтры потребления ресурсов
Contents:
- Field: resources
Type: array
Description: Типы ресурсов для анализа потребления.
Возможные значения:
billing_resource_execution_credits — кредиты выполнения
billing_resource_plug_and_play_credits — Plug&Play кредиты
---
- Field: start
Type: string
Description: Начальная дата периода анализа. Если не указана, используется первое использование
---
- Field: end
Type: string
Description: Конечная дата периода анализа. Если не указана, используется текущее времяФормат ответа (data):
- Field: subscriptions
Type: array
Description: Список подписок
Contents:
- Field: id
Type: string
Description: ID подписки
---
- Field: plan_id
Type: string
Description: ID связанного плана
---
- Field: user_id
Type: string
Description: ID пользователя
---
- Field: status
Type: string
Description: Текущий статус подписки
Возможные значения:
subscription_status_active — активная подписка
subscription_status_cancelled — отменённая подписка
---
- Field: consumption
Type: object
Description: Информация о потреблении ресурсов (если запрошено)
Contents:
- Field: execution_credits
Type: object
Description: Использование микрокредитов выполнения
Contents:
- Field: total
Type: string
Description: Всего использовано кредитов
---
- Field: plug_and_play_credits
Type: object
Description: Использование Plug&Play микротокенов
Contents:
- Field: total
Type: string
Description: Всего использовано токенов
---
- Field: created_at
Type: string
Description: Дата создания подписки
---
- Field: cancelled_at
Type: string
Description: Дата отмены подписки (если отменена)Пример запроса:
curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/subscriptions/list?AUTH_TOKEN=YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"options": {
"include_consumption": true
},
"filters": {
"user_id": "my_test_user_1",
"statuses": ["subscription_status_active"],
"consumption": {
"resources": ["billing_resource_execution_credits"],
"start": "2025-04-04T15:09:23.879Z",
"end": "2025-05-05T15:09:23.879Z"
}
}
}'Пример ответа:
{
"success": true,
"request_id": "HMI8jfzAIiuGH8bB2J1F",
"data": {
"subscriptions": [
{
"id": "0",
"plan_id": "0",
"user_id": "my_test_user_1",
"status": "subscription_status_active",
"consumption": {
"execution_credits": {
"total": "1"
},
"plug_and_play_credits": null
},
"created_at": "2025-05-05T14:19:39Z",
"cancelled_at": null
}
]
},
"errors": []
}Назначение подписки пользователю
URL:
https://api.nodul.ru/latenode/v1/whitelabel/subscriptionsМетод:
POST
Query-параметры:
Нет
Body-параметры:
- Field: user_id
Type: string
Description: ID пользователя, которому будет назначена подписка
---
- Field: plan_id
Type: string
Description: ID тарифного плана для подпискиФормат ответа (data):
- Field: subscription
Type: object
Description: Объект с данными созданной подписки
Contents:
- Field: id
Type: string
Description: ID подписки
---
- Field: plan_id
Type: string
Description: ID связанного тарифного плана
---
- Field: user_id
Type: string
Description: ID пользователя
---
- Field: status
Type: string
Description: Текущий статус подписки.
Возможные значения:
subscription_status_active — активная подписка
subscription_status_cancelled — отменённая подписка
---
- Field: consumption
Type: null
Description: Всегда null, так как использование ещё не могло произойти
---
- Field: created_at
Type: string
Description: Метка времени создания подписки
---
- Field: cancelled_at
Type: nullПример запроса:
curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/subscriptions?AUTH_TOKEN=YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"user_id": "my_test_user_1",
"plan_id": "0"
}'Пример ответа:
{
"success": true,
"request_id": "VbCf0CMPIJ8m3pc4u9vI",
"errors": [],
"data": {
"subscription": {
"id": "0",
"plan_id": "0",
"user_id": "my_test_user_1",
"status": "subscription_status_active",
"consumption": null,
"created_at": "2025-05-05T15:26:10.320Z",
"cancelled_at": null
}
}
}Отмена подписки
URL:
https://api.nodul.ru/latenode/v1/whitelabel/subscriptions/cancelМетод:
POST
Body-параметры:
- Field: subscription_id
Type: number
Description: ID подписки для отменыФормат ответа (data):
Тело ответа отсутствует. См. поле `success` в общем контейнере ответа.Пример запроса:
curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/subscriptions/cancel?AUTH_TOKEN=YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"subscription_id": "0"
}'Пример ответа:
{
"success": true,
"request_id": "J9KWRLlKIlP0tTPQOj6B",
"errors": [],
"data": {}
}Получение списка пользователей
URL:
https://api.nodul.ru/latenode/v1/whitelabel/users/listМетод:
POST
Query-параметры:
Нет
Body-параметры:
- Field: options
Type: object
Description: Опции запроса
Contents:
- Field: include_subscriptions
Type: boolean
Description: Включать ли информацию о подписках
---
- Field: include_consumption
Type: boolean
Description: Включать ли информацию о потреблении ресурсов
---
- Field: filters
Type: object
Description: Фильтры потребления ресурсов
Contents:
- Field: consumption
Type: object
Description: Фильтры потребления
Contents:
- Field: resources
Type: array
Description: Типы ресурсов для фильтрации. Возможные значения:
billing_resource_execution_credits — кредиты выполнения
billing_resource_plug_and_play_credits — Plug&Play кредиты
---
- Field: start
Type: string
Description: Начальная дата периода. Если не указана, используется первое использование
---
- Field: end
Type: string
Description: Конечная дата периода. Если не указана, используется текущее времяФормат ответа (data):
- Field: users
Type: array
Description: Список пользователей
Contents:
- Field: user_id
Type: string
Description: Уникальный ID пользователя
---
- Field: subscriptions
Type: array
Description: Подписки пользователя (если include_subscriptions = true)
Contents:
- Field: id
Type: string
Description: ID подписки
---
- Field: plan_id
Type: string
Description: ID связанного тарифного плана
---
- Field: user_id
Type: string
Description: ID пользователя
---
- Field: status
Type: string
Description: Текущий статус подписки.
Возможные значения:
subscription_status_active — активная подписка
subscription_status_cancelled — отменённая подписка
---
- Field: consumption
Type: object
Description: Информация о потреблении ресурсов (если include_consumption = true)
Contents:
- Field: execution_credits
Type: object
Description: Использование микрокредитов выполнения
Contents:
- Field: total
Type: string
Description: Всего использовано кредитов
---
- Field: plug_and_play_credits
Type: object
Description: Использование Plug&Play токенов
Contents:
- Field: total
Type: string
Description: Всего использовано токенов
---
- Field: created_at
Type: string
Description: Метка времени создания подписки
---
- Field: cancelled_at
Type: string
Description: Метка времени отмены подписки (если отменена)Пример запроса:
curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/users/list?AUTH_TOKEN=YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"options": {
"include_subscriptions": true,
"include_consumption": true
},
"filters": {
"consumption": {
"resources": ["billing_resource_execution_credits"],
"start": "2025-05-01T15:00:00.000Z",
"end": "2025-05-06T15:00:00.000Z"
}
}
}'Пример ответа:
{
"success": true,
"request_id": "iPl0JoZDJmQZnjkxoJXU",
"data": {
"users": [
{
"user_id": "my_test_user_1",
"subscriptions": [
{
"id": "0",
"plan_id": "0",
"user_id": "my_test_user_1",
"status": "subscription_status_active",
"consumption": {
"execution_credits": {
"total": "1"
},
"plug_and_play_credits": null
},
"created_at": "2025-05-05T14:19:39Z",
"cancelled_at": null
},
{
"id": "0",
"plan_id": "0",
"user_id": "my_test_user_1",
"status": "subscription_status_cancelled",
"consumption": null,
"created_at": "2025-05-05T15:26:10Z",
"cancelled_at": null
}
]
}
]
},
"errors": []
}Получение отчёта о потреблении ресурсов
URL:
https://api.nodul.ru/latenode/v1/whitelabel/reports/consumptionМетод:
POST
Body-параметры:
- Field: start
Type: string
Description: Начальная дата периода. Если не указана, используется дата первого использования.
---
- Field: end
Type: string
Description: Конечная дата периода. Если не указана, используется текущее время.
---
- Field: options
Type: object
Description: Опции генерации отчёта
Contents:
- Field: include_total
Type: boolean
Description: Включать ли общее потребление по всем пользователям.
---
- Field: include_per_user
Type: boolean
Description: Включать ли детали потребления для каждого пользователя.
---
- Field: filters
Type: object
Description: Фильтры по типам ресурсов
Contents:
- Field: resources
Type: array
Description: Список типов ресурсов. Возможные значения:
billing_resource_execution_credits — кредиты выполнения
billing_resource_plug_and_play_credits — Plug&Play кредитыФормат ответа (data):
- Field: total
Type: object
Description: Общее потребление ресурсов (если include_total = true)
Contents:
- Field: execution_credits
Type: object
Description: Потребление микрокредитов выполнения
Contents:
- Field: total
Type: string
Description: Всего использовано кредитов
---
- Field: plug_and_play_credits
Type: object
Description: Потребление Plug&Play микротокенов
Contents:
- Field: total
Type: string
Description: Всего использовано токенов
---
- Field: users
Type: array
Description: Детали потребления по пользователям (если include_per_user = true)
Contents:
- Field: user_id
Type: string
Description: ID пользователя
---
- Field: consumption
Type: object
Description: Потребление ресурсов
Contents:
- Field: execution_credits
Type: object
Description: Потребление микрокредитов выполнения
Contents:
- Field: total
Type: string
Description: Всего использовано кредитов
---
- Field: plug_and_play_credits
Type: object
Description: Потребление Plug&Play токенов
Contents:
- Field: total
Type: string
Description: Всего использовано токенов
---
- Field: start
Type: string
Description: Начальная дата периода отчёта
---
- Field: end
Type: string
Description: Конечная дата периода отчётаПример запроса:
curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/reports/consumption?AUTH_TOKEN=YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"start": "2025-05-01T15:00:00.000Z",
"end": "2025-05-06T15:00:00.000Z",
"options": {
"include_total": true,
"include_per_user": true
},
"filters": {
"resources": [
"billing_resource_execution_credits",
"billing_resource_plug_and_play_credits"
]
}
}'Пример ответа:
{
"success": true,
"request_id": "Vwauyaa7L4lOjn4ZK2Xy",
"data": {
"total": {
"execution_credits": {
"total": "1"
},
"plug_and_play_credits": null
},
"users": [
{
"user_id": "my_test_user_1",
"consumption": {
"execution_credits": {
"total": "1"
},
"plug_and_play_credits": null
}
}
],
"start": "2025-05-01T15:00:00Z",
"end": "2025-05-06T15:00:00Z"
},
"errors": []
}Списание кредитов
URL:
https://api.nodul.ru/latenode/v1/whitelabel/billing/resourceМетод:
POST
Body-параметры:
- Field: user_id
Type: string
Description: ID пользователя
---
- Field: resource
Type: string
Description: Тип добавляемого ресурса
---
- Field: quantity
Type: int64
Description: Количество добавляемого ресурсаФормат ответа (data):
Тело ответа пустое. См. поле `success` в общем контейнере ответа.Пример запроса:
curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/billing/resource?AUTH_TOKEN=YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"user_id": "10011",
"resource": "billing_resource_plug_and_play_credits",
"quantity": 10
}'Пример ответа:
{
"success": true,
"request_id": "Spawv468Km4877fGR",
"data": {},
"errors": []
}Добавление пользователя в пространство
URL:
https://api.nodul.ru/latenode/v1/whitelabel/space/access/grantМетод:
POST
Body-параметры:
- Field: grantee_user_id
Type: string
Description: Внутренний ID пользователя, подключаемого к пространству
---
- Field: owner_user_id
Type: string
Description: Внутренний ID пользователя-владельца пространства. Пропускается, когда add_to_tenant_space = true
---
- Field: add_to_tenant_space
Type: boolean
Description: Если true, пользователь будет подключён только к пространству тенанта
---
- Field: role_id
Type: int64
Description: ID предоставляемой ролиФормат ответа (data):
Тело ответа пустое. См. поле `success` в общем контейнере ответа.Пример запроса:
curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/space/access/grant?AUTH_TOKEN=YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"grantee_user_id": "test_user_2",
"owner_user_id": "test_user_1",
"add_to_tenant_space": false,
"role_id": 3
}'Пример ответа:
{
"success": true,
"request_id": "Spawakhdfm4877fGR",
"data": {},
"errors": []
}Удаление пользователя из пространства
URL:
https://api.nodul.ru/latenode/v1/whitelabel/space/access/revokeМетод:
POST
Body-параметры:
- Field: grantee_user_id
Type: string
Description: Внутренний ID пользователя, подключённого к пространству
---
- Field: owner_user_id
Type: string
Description: Внутренний ID пользователя-владельца пространства. Пропускается, когда revoke_from_tenant_space = true
---
- Field: revoke_from_tenant_space
Type: boolean
Description: Если true, пользователь будет отключён только от пространства тенантаФормат ответа (data):
Тело ответа пустое. См. поле `success` в общем контейнере ответа.Пример запроса:
curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/space/access/revoke?AUTH_TOKEN=YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"grantee_user_id": "test_user_2",
"owner_user_id": "test_user_1",
"revoke_from_tenant_space": false
}'Пример ответа:
{
"success": true,
"request_id": "Spa78377hfwakhdfm48GR",
"data": {},
"errors": []
}Обновление названия пространства
URL:
https://api.nodul.ru/latenode/v1/whitelabel/space/updateМетод:
POST
Body-параметры:
- Field: space_id
Type: string
Description: ID пространства
---
- Field: name
Type: string
Description: Новое название пространстваФормат ответа (data):
- Field: space
Type: object
Description: Изменённое пространство
Contents:
- Field: id
Type: string
Description: ID пространства
---
- Field: name
Type: string
Description: Новое название пространства
---
- Field: status
Type: string
Description: Статус названияПример запроса:
curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/space/update?AUTH_TOKEN=YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"space_id": "32",
"name": "new_name"
}'Пример ответа:
{
"success": true,
"request_id": "KMBhDbT7734zuaR7CR",
"data": {
"space": {
"id": "32",
"name": "new_name",
"status": "new"
}
},
"errors": []
}Получение сценариев из пространства
URL:
https://api.nodul.ru/latenode/v1/whitelabel/scenarios/listМетод:
POST
Body-параметры:
- Field: space_id
Type: string
Description: ID пространства
---
- Field: options
Type: object
Description: Опции ответа
Contents:
- Field: count_only
Type: boolean
Description: Если true, будет предоставлен только счётчикФормат ответа (data):
- Field: scenarios_count
Type: string
Description: Общее количество сценариев, доступных для тенанта
---
- Field: folders
Type: array
Description: Список папок со сценариями
---
- Field: scenarios
Type: array
Description: Список сценариев
Contents:
- Field: id
Type: string
Description: Уникальный идентификатор сценария
---
- Field: title
Type: string
Description: Название сценария
---
- Field: description
Type: string
Description: Описание сценария
---
- Field: node_count
Type: string
Description: Количество узлов в сценарии
---
- Field: active
Type: boolean
Description: Указывает, активен ли сценарий
---
- Field: status
Type: string
Description: Текущий статус сценария (например, deployed)
---
- Field: last_version
Type: string
Description: Последняя развёрнутая версия сценария
---
- Field: folder_id
Type: string
Description: Идентификатор папки, к которой принадлежит сценарий
---
- Field: created_at
Type: string
Description: Метка времени создания сценария в формате ISO 8601
---
- Field: last_modified_at
Type: string
Description: Метка времени последнего изменения сценария в формате ISO 8601
---
- Field: created_by
Type: object
Description: Информация о пользователе, создавшем сценарий
Contents:
- Field: user_id
Type: string
Description: Идентификатор пользователя, создавшего сценарий
---
- Field: last_modified_by
Type: object
Description: Информация о пользователе, последним изменившем сценарий
Contents:
- Field: user_id
Type: string
Description: Идентификатор пользователя, последним изменившего сценарий
---Пример запроса:
curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/scenarios/list?AUTH_TOKEN=YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"space_id": 32,
"options": {
"count_only": false
}
}'Пример ответа:
{
"success": true,
"request_id": "Y3X5oDrjJz93j4hgg3CXcb",
"data": {
"scenarios_count": "1",
"folders": [],
"scenarios": [
{
"id": "29adf0adfa7df8df6adff",
"title": "Test scenario",
"node_count": "2",
"active": true,
"status": "deployed",
"last_version": "3",
"folder_id": "",
"description": "",
"created_at": "2025-04-15T17:46:56.055Z",
"last_modified_at": "2025-04-15T17:50:12.217Z",
"created_by": {
"user_id": "test_user_1"
},
"last_modified_by": {
"user_id": "test_user_1"
}
}
]
},
"errors": []
}