Nodul LogoNodul

Использование API

Создание API-токена

Для использования API необходимо создать API-токен в личном кабинете. Это можно сделать в разделе «Access Tokens»:

  1. Войдите на платформу
  2. Перейдите в раздел White Label → Access Tokens
  3. Нажмите кнопку «Create Token»
  4. Заполните форму создания токена и нажмите «OK»
  5. Скопируйте сгенерированный токен

Важно

Этот токен не хранится на серверах платформы. После нажатия кнопки «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/quotas

Query-параметры:

Нет

Метод:

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/plans

Query-параметры:

Нет

Метод:

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: Метка времени отмены подписки (если отменена)
      ---
    - Field:       spaces
      Type:        array
      Description: Пространства, к которым подключён пользователь
      Contents:
        - Field:       id
          Type:        string
          Description: ID пространства
          ---
        - Field:       name
          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
          }
        ],
        "spaces": [
          {
            "id": "32",
            "name": "test_space_1"
          },
          {
            "id": "53",
            "name": "test_space_2"
          }
        ]
      }
    ]
  },
  "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": []
}

Получение данных о запуске

URL:

https://api.nodul.ru/latenode/v1/whitelabel/scenarios/execution

Метод:

GET

Query-параметры:

- Field:        execution_id
  Type:         string
  Description:  ID запуска

Формат ответа (data):

- Field: execution
  Type: object
  Description: Информация о запуске сценария
  Contents:
    - Field: id
      Type: string
      Description: Уникальный идентификатор запуска
      ---

    - Field: scenario_id
      Type: string
      Description: Идентификатор запущенного сценария
      ---

    - Field: version
      Type: string
      Description: Версия сценария, использованная при запуске
      ---

    - Field: status
      Type: string
      Description: Статус запуска (например, success, error)
      ---

    - Field: environment
      Type: string
      Description: Среда запуска (например, dev, prod)
      ---

    - Field: nodes
      Type: array
      Description: Список выполненных узлов и их статусы
      Contents:
        - Field: id
          Type: string
          Description: Уникальный идентификатор выполнения узла
          ---

        - Field: node_id
          Type: string
          Description: Идентификатор узла в сценарии
          ---

        - Field: status
          Type: string
          Description: Статус выполнения узла (например, success, error)
          ---

        - Field: stat
          Type: object
          Description: Статистика узла
          Contents:
            - Field: time
              Type: object
              Description: Статистика времени выполнения узла
              Contents:
                - Field: start
                  Type: string
                  Description: Дата и время начала выполнения узла
                  ---

                - Field: end
                  Type: string
                  Description: Дата и время окончания выполнения узла
                  ---

                - Field: duration_ns
                  Type: string
                  Description: Длительность выполнения узла в наносекундах
                  ---

                - Field: duration
                  Type: string
                  Description: Длительность выполнения узла в миллисекундах
                  ---

                - Field: data
                  Type: object
                  Description: Размер входных и выходных данных узла
                  Contents:
                    - Field: size_bytes
                      Type: string
                      Description: Размер в байтах
                      ---

                    - Field: size
                      Type: string
                      Description: Размер в читаемом формате
                      ---



    - Field: error
      Type: object
      Description: Сведения об ошибке, если запуск завершился неудачно
      Contents:
        - Field: entity_id
          Type: string
          Description: Идентификатор сущности, в которой произошла ошибка
          ---

        - Field: entity_type
          Type: string
          Description: Тип сущности, в которой произошла ошибка (например, node)
          ---

        - Field: message
          Type: string
          Description: Текст ошибки
          ---

    - Field: gateways
      Type: array
      Description: Список шлюзов, обработанных при запуске
      Contents:
        - Field: id
          Type: string
          Description: Уникальный идентификатор выполнения шлюза
          ---

        - Field: node_id
          Type: string
          Description: Идентификатор узла-шлюза в сценарии
          ---

        - Field: purpose
          Type: string
          Description: Назначение шлюза (например, output)
          ---

        - Field: routes
          Type: array
          Description: Список проверенных связей шлюза
          Contents:
            - Field: condition
              Type: object
              Description: Условие, проверенное для связи
              Contents:
                - Field: type
                  Type: string
                  Description: Тип условия
                  ---

                - Field: expression
                  Type: object
                  Description: Выражение условия
                  Contents:
                    - Field: value
                      Type: string
                      Description: Значение выражения
                      ---

            - Field: node_id
              Type: string
              Description: Идентификатор следующего узла для этой связи
              ---

Пример запроса:

curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/scenarios/execution?AUTH_TOKEN=YOUR_API_TOKEN&execution_id=adf7asdbfdad99da8f6adfdf' \
--header 'Content-Type: application/json'

Пример ответа:

{
    "success": true,
    "request_id": "kcf43f34fsdasfq43P6Dr",
    "data": {
        "execution": {
            "id": "623r23fff23f2f2201494",
            "scenario_id": "6802211f4qf3f3f2cf4c",
            "version": "2",
            "status": "success",
            "environment": "dev",
            "nodes": [
                {
                    "id": "48293dd34234234c7201494_69faf5cf34f34f3498c7201496",
                    "node_id": "680221f43f34f34cf50",
                    "status": "success",
                    "stat": {
                        "time": {
                            "start": "2026-05-06T08:03:19.118Z",
                            "end": "2026-05-06T08:03:19.230Z",
                            "duration_ns": "106590247",
                            "duration": "106ms"
                        },
                        "data": {
                            "size_bytes": "2",
                            "size": "2 B"
                        }
                    }
                }
            ],
            "error": null,
            "gateways": []
        }
    },
    "errors": []
}

Получение токенов доступа

URL:

https://api.nodul.ru/latenode/v1/whitelabel/tokens

Метод:

GET

Query-параметры:

Нет

Формат ответа (data):

- Field: tokens
  Type: array
  Description: Список токенов доступа
  Contents:
    - Field: id
      Type: string
      Description: Уникальный идентификатор токена доступа
      ---

    - Field: token_name
      Type: string
      Description: Название токена доступа
      ---

    - Field: description
      Type: string
      Description: Описание токена доступа
      ---

    - Field: created_at
      Type: string
      Description: Дата создания токена доступа
      ---

    - Field: expires_at
      Type: string
      Description: Дата окончания срока действия токена доступа
      ---

    - Field: revoked_at
      Type: string
      Description: Дата отзыва токена доступа
      ---

Пример запроса:

curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/tokens?AUTH_TOKEN=YOUR_API_TOKEN'

Пример ответа:

{
    "success": true,
    "request_id": "k86exHNLyhnzJhDd4jcx",
    "data": {
        "tokens": [
            {
                "id": "1",
                "token_name": "А",
                "description": "",
                "created_at": "2025-04-24T11:59:42Z",
                "expires_at": "2025-04-30T11:59:38Z",
                "revoked_at": "2025-04-24T13:15:01Z"
            },
            {
                "id": "2",
                "token_name": "B",
                "description": "",
                "created_at": "2025-04-24T12:06:48Z",
                "expires_at": "2029-04-24T12:07:33Z",
                "revoked_at": "null"
            }
        ]
    },
    "errors": []
}

Создание токена доступа

URL:

https://api.nodul.ru/latenode/v1/whitelabel/tokens

Метод:

POST

Body-параметры:

- Field:        token_name
  Type:         string
  Description:  Название токена доступа
  ---
- Field:        description
  Type:         string
  Description:  Описание токена доступа
  ---
- Field:        expires_at
  Type:         string
  Description:  Дата окончания срока действия токена доступа

Формат ответа (data):

- Field: id
  Type: string
  Description: Уникальный идентификатор токена доступа
  ---

- Field: token
  Type: string
  Description: Созданный токен доступа
  ---

- Field: token_name
  Type: string
  Description: Название токена доступа
  ---

- Field: description
  Type: string
  Description: Описание токена доступа
  ---

- Field: created_at
  Type: string
  Description: Дата создания токена доступа
  ---

- Field: expires_at
  Type: string
  Description: Дата окончания срока действия токена доступа
  ---

Пример запроса:

POST 'https://api.nodul.ru/latenode/v1/whitelabel/tokens?AUTH_TOKEN=YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --body '{
    "token_name": "name",
    "description": "token, created from api",
    "expires_at": "2029-05-30T17:56:00.000Z"
}'

Пример ответа:

{
    "success": true,
    "request_id": "VfnvMVmMajsdflaij",
    "data": {
        "id": "3",
        "token": "eyJhbGciOifje99fdInR5cCI6IkpXVCJ9.eyJjbGllbnRfaWQiOiI120394fffjE3Nzc5NjM0MjAsImV4cCI6MTc4MDE2Mzc1OSwidXNlcl9pZCI6MjN9.-l8A9IX_cCBp4OItf9efjfoo5pYKj145g",
        "token_name": "name",
        "description": "token, created from api",
        "created_at": "2026-05-05T06:43:40.839523210Z",
        "expires_at": "2029-05-30T17:56:00Z"
    },
    "errors": []
}

Отзыв токена доступа

URL:

https://api.nodul.ru/latenode/v1/whitelabel/revoke

Метод:

POST

Body-параметры:

- Field:        token_id
  Type:         string
  Description:  Идентификатор токена доступа

Формат ответа (data):

Тело ответа пустое. Смотрите поле `success` в общем контейнере ответа.

Пример запроса:

POST 'https://api.nodul.ru/latenode/v1/whitelabel/revoke?AUTH_TOKEN=YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --body '{
    "token_id": "3"
}'

Пример ответа:

{
    "success": true,
    "request_id": "v9adf8dkfjla9889fdf",
    "data": {},
    "errors": []
}

Получение истории запусков сценария

URL:

https://api.nodul.ru/latenode/v1/whitelabel/scenarios/executions/list

Метод:

POST

Body-параметры:

- Field:        scenario_id
  Type:         string
  Description:  ID сценария
  ---

- Field:        space_id
  Type:         string
  Description:  ID пространства
  ---

- Field:        page_size
  Type:         number
  Description:  Максимальное количество запусков в ответе
  ---

- Field:        execution_id_filter
  Type:         object
  Description:  Фильтр для постраничной выборки запусков
  Contents:
    - Field: after_or_before
      Type: string
      Description: Получать запуски после или до указанного ID запуска
      ---

    - Field: execution_id
      Type: string
      Description: ID запуска, от которого ведётся постраничная выборка
      ---

Формат ответа (data):

- Field: executions
  Type: array
  Description: Список запусков сценария
  Contents:
    - Field: id
      Type: string
      Description: Уникальный идентификатор запуска
      ---

    - Field: scenario_id
      Type: string
      Description: Идентификатор связанного сценария
      ---

    - Field: version
      Type: string
      Description: Версия сценария, использованная при запуске
      ---

    - Field: status
      Type: string
      Description: Статус запуска (например, success, error)
      ---

    - Field: environment
      Type: string
      Description: Среда, в которой выполнялся запуск
      ---

    - Field: nodes
      Type: array
      Description: Список выполненных узлов
      Contents:
        - Field: id
          Type: string
          Description: Уникальный идентификатор выполнения узла
          ---

        - Field: node_id
          Type: string
          Description: Идентификатор связанного узла сценария
          ---

        - Field: status
          Type: string
          Description: Статус выполнения узла
          ---

        - Field: stat
          Type: object | null
          Description: Статистика выполнения узла
          ---

    - Field: error
      Type: object | null
      Description: Сведения об ошибке, если запуск завершился неудачно
      Contents:
        - Field: entity_id
          Type: string
          Description: Идентификатор сущности, вызвавшей ошибку
          ---

        - Field: entity_type
          Type: string
          Description: Тип сущности, вызвавшей ошибку
          ---

        - Field: message
          Type: string
          Description: Текст ошибки
          ---

    - Field: gateways
      Type: array
      Description: Список шлюзов запуска
      Contents:
        - Field: id
          Type: string
          Description: Уникальный идентификатор выполнения шлюза
          ---

        - Field: node_id
          Type: string
          Description: Идентификатор связанного узла
          ---

        - Field: routes
          Type: array
          Description: Список связей шлюза
          Contents:
            - Field: condition
              Type: object
              Description: Настройка условия связи
              Contents:
                - Field: type
                  Type: string
                  Description: Тип условия
                  ---

                - Field: expression
                  Type: object
                  Description: Выражение условия связи
                  Contents:
                    - Field: value
                      Type: string
                      Description: Значение выражения
                      ---

            - Field: node_id
              Type: string
              Description: Идентификатор целевого узла
              ---

        - Field: purpose
          Type: string
          Description: Назначение шлюза
          ---

Пример запроса:

curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/scenarios/executions/list?AUTH_TOKEN=YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
    "scenario_id": "69fae203948201484",
    "space_id": 41,
    "page_size": 100,
    "execution_id_filter": {
        "after_or_before": "after",
        "execution_id": "69fb1a4294385gvd99c69dfa"
    }
}'

Пример ответа:

{
  "success": true,
  "request_id": "aKcTWRAJyRxmWmgw1Ibb",
  "data": {
    "executions": [
      {
        "id": "69fb890fed99c69e04",
        "scenario_id": "69fae203948201484",
        "version": "3",
        "status": "error",
        "environment": "prod",
        "nodes": [
          {
            "id": "69fb1a4034958jc69e04_69fb194jjd99c69e06",
            "node_id": "6938942fa2e0ae1141",
            "status": "success",
            "stat": null
          },
          {
            "id": "69fb1924uuc69e04_69f10234jfdda8e6b4",
            "node_id": "69fb1q0234jjd1e137860200",
            "status": "error",
            "stat": null
          }
        ],
        "error": {
          "entity_id": "69fb184kk3i7860200",
          "entity_type": "node",
          "message": "scenario is not active"
        },
        "gateways": [
          {
            "id": "69fb04923pped99c69e04_69fb1a024nal8e6b3",
            "node_id": "693492phf2e0ae1141",
            "routes": [
              {
                "condition": {
                  "type": "",
                  "expression": {
                    "value": ""
                  }
                },
                "node_id": "69fb92034kkdn7860200"
              }
            ],
            "purpose": "output"
          }
        ]
      }
    ]
  },
  "errors": []
}

Получение шаблонов сценариев

URL:

https://api.nodul.ru/latenode/v1/whitelabel/scenario/templates

Метод:

GET

Query-параметры:

Нет

Формат ответа (data):

- Field: folders
  Type: array
  Description: Список папок с шаблонами
  Contents:
    - Field: id
      Type: string
      Description: Уникальный идентификатор папки
      ---

    - Field: name
      Type: string
      Description: Название папки
      ---

    - Field: scenarios_count
      Type: string
      Description: Количество сценариев в папке
      ---

    - Field: folders
      Type: array
      Description: Вложенные папки
      ---

    - Field: scenarios
      Type: array
      Description: Список сценариев в папке (см. объект Scenario ниже)
      Ref: Scenario
      ---

    - Field: description
      Type: string
      Description: Описание папки
      ---

    - Field: created_at
      Type: string
      Description: Время создания в формате ISO 8601
      ---

    - Field: last_modified_at
      Type: string
      Description: Время последнего изменения в формате ISO 8601
      ---
---

- Field: scenarios
  Type: array
  Description: Список сценариев вне папок (см. объект Scenario ниже)
  Ref: Scenario
---

- Field: scenarios_count
  Type: string
  Description: Общее количество сценариев в папках и на верхнем уровне

---

## Scenario (общая структура)

- Field: id
  Type: string
  Description: Уникальный идентификатор сценария
  ---

- Field: title
  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: description
  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 | null
  Description: Информация о создателе
  ---

- Field: last_modified_by
  Type: object | null
  Description: Информация о том, кто последним изменил сценарий

Пример запроса:

curl --location 'https://api.nodul.ru/latenode/v1/whitelabel/scenario/templates?AUTH_TOKEN=YOUR_API_TOKEN' \
--header 'Content-Type: application/json'

Пример ответа:

{
  "success": true,
  "request_id": "REQ_9f3a1c77b2d4e5f6a8",
  "data": {
    "folders": [
      {
        "id": "64a1b2c3d4e5f6789012345a",
        "name": "folder",
        "scenarios_count": "1",
        "folders": [],
        "scenarios": [
          {
            "id": "64a1b2c3d4e5f6789012346b",
            "title": "template-1",
            "node_count": "1",
            "active": true,
            "status": "deployed",
            "last_version": "2",
            "folder_id": "64a1b2c3d4e5f6789012345a",
            "description": "",
            "created_at": "2025-12-12T11:46:43.927Z",
            "last_modified_at": "2025-12-12T11:47:00.326Z",
            "created_by": null,
            "last_modified_by": null
          }
        ],
        "description": "",
        "created_at": "2025-04-10T07:30:21.322Z",
        "last_modified_at": "2025-04-10T07:30:21.322Z"
      }
    ],
    "scenarios": [
      {
        "id": "64a1b2c3d4e5f6789012346e",
        "title": "template-2",
        "node_count": "2",
        "active": true,
        "status": "deployed",
        "last_version": "3",
        "folder_id": "",
        "description": "",
        "created_at": "2025-07-28T10:17:38.792Z",
        "last_modified_at": "2026-05-06T08:34:23.831Z",
        "created_by": null,
        "last_modified_by": null
      }
    ],
    "scenarios_count": "2"
  },
  "errors": []
}

Копирование шаблона сценария в пространство

URL:

https://app.nodul.ru/latenode/v1/whitelabel/scenario/template/copy

Метод:

POST

Body-параметры:

- Field: scenario_id
  Type: string
  Description: ID шаблона сценария, который нужно скопировать
  ---

- Field: space_id
  Type: string
  Description: ID пространства, в котором будет создан новый сценарий

Формат ответа (data):

- Field: new_scenario_id
  Type: string
  Description: ID созданной копии сценария

Пример запроса:

curl --location 'https://app.nodul.ru/latenode/v1/whitelabel/scenario/template/copy?AUTH_TOKEN=YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
    "scenario_id": "68874e42b18eee23f5bf9e1e",
    "space_id": 34
}'

Пример ответа:

{
  "success": true,
  "request_id": "rFPNsnYDi59KUwPRYAVD",
  "data": {
    "new_scenario_id": "69fc81df7687cc4e96062c67"
  },
  "errors": []
}

Нужна помощь? Спросите сообщество

Если на странице не хватает деталей или что-то непонятно, напишите на форуме сообщества Nodul: команда и другие пользователи обычно отвечают быстро.

0/100
0/2000

Программное обеспечение распространяется в виде интернет-сервиса, специальные действия по его установке на стороне пользователя не требуются.

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