Перейти к основному содержимому

Projects API

Список проектов

Shell
curl -X GET "https://scriptrun.ai/api/v1/projects/?page=1&size=10&name__icontains=test" \
-H "X-Api-Key: <Your API Key>"
Python
import requests

url = "https://scriptrun.ai/api/v1/projects/"
headers = {"X-Api-Key": "<Your API Key>"}
params = {"page": 1, "size": 10, "name__icontains": "test"}

response = requests.get(url, headers=headers, params=params)
print(response.json())

GET /api/v1/projects/

Описание: Возвращает список проектов. Проекты отслеживают расходы, связанные с рендерингом промптов, и могут включать различные планы (например, JustmagicPlan), а также настройки webhook.

Параметры:

НазваниеГдеТипОбязательныйОписание
name__icontainsquerystringНетФильтрация проектов по имени (без учёта регистра).
pagequeryintegerНетНомер страницы в результатах с пагинацией.
sizequeryintegerНетКоличество результатов на странице.

Ответы:

  • 200 OK:
    • Content-Type: application/json
      • Схема:
        • page (integer) Обязательное: Страница запроса.
        • size (integer) Опциональное: Количество результатов на один вызов. Допустимые значения: 0–100. По умолчанию 10.
        • total (integer) Опциональное: Общее количество объектов в запросе.
        • items (array) Обязательное: Список проектов. Каждый элемент содержит следующие поля:
          • id (integer) Обязательное: Уникальный ID проекта.
          • name (string) Обязательное: Название проекта.
          • total_spent (object) Обязательное: Общая потраченная сумма в разбивке по валютам. Каждый ключ — код валюты (например, USD, SR), каждое значение — соответствующая сумма в виде строки в нормализованном десятичном формате.
          • attached_provider_keys (array) Обязательное: Список ключей провайдеров, привязанных к проекту.
          • created_at (string) Обязательное: Временная метка создания проекта (ISO 8601).
          • updated_at (string) Обязательное: Временная метка последнего обновления проекта (ISO 8601).
          • webhook_url (string) Обязательное: URL webhook для проекта (пустая строка, если не задан).
          • is_webhook_enabled (boolean) Обязательное: Включён ли webhook.
          • can_edit (boolean) Обязательное: Может ли текущий пользователь редактировать этот проект.

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

{
"page": 1,
"size": 10,
"total": 1,
"items": [
{
"id": 123,
"name": "My Project",
"total_spent": {
"USD": "0.00038",
"SR": "0.038"
},
"attached_provider_keys": [],
"created_at": "2026-01-01T12:00:00Z",
"updated_at": "2026-01-01T12:00:00Z",
"webhook_url": "",
"is_webhook_enabled": false,
"can_edit": true
}
]
}

Создание проекта

Shell
curl -X POST "https://scriptrun.ai/api/v1/projects/" \
-H "X-Api-Key: <Your API Key>" \
-H "Content-Type: application/json" \
-d '{"name": "New Project", "webhook_url": "https://example.com/webhook/"}'
Python
import requests

url = "https://scriptrun.ai/api/v1/projects/"
headers = {
"X-Api-Key": "<Your API Key>",
"Content-Type": "application/json"
}
data = {
"name": "New Project",
"webhook_url": "https://example.com/webhook/"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

POST /api/v1/projects/

Описание: Создаёт новый проект. Проект отслеживает расходы на рендеринг промптов и включает настройки webhook и различные планы.

Тело запроса:

  • Content-Type: application/json
  • Схема:
    • name (string) Обязательное: Название проекта.
    • webhook_url (string) Опциональное: URL для уведомлений webhook проекта.
    • is_webhook_enabled (boolean) Опциональное: Включён ли webhook.

Ответы:

  • 201 Created:
    • Content-Type: application/json
      • Схема:
        • id (integer) Обязательное: ID вновь созданного проекта.
        • name (string) Обязательное: Название проекта.
        • total_spent (object) Обязательное: Общая потраченная сумма в разбивке по валютам. Каждый ключ — код валюты (например, USD, SR), каждое значение — соответствующая сумма в виде строки в нормализованном десятичном формате (например, {"USD": "0.00038", "SR": "0.038"}).
        • attached_provider_keys (array) Обязательное: Список ключей провайдеров, привязанных к проекту.
        • created_at (string) Обязательное: Временная метка создания проекта (ISO 8601).
        • updated_at (string) Обязательное: Временная метка последнего обновления проекта (ISO 8601).
        • webhook_url (string) Обязательное: URL webhook для проекта (пустая строка, если не задан).
        • is_webhook_enabled (boolean) Обязательное: Включён ли webhook.
        • can_edit (boolean) Обязательное: Может ли текущий пользователь редактировать этот проект.

Получение проекта

Shell
curl -X GET "https://scriptrun.ai/api/v1/projects/123/" \
-H "X-Api-Key: <Your API Key>"
Python
import requests

url = "https://scriptrun.ai/api/v1/projects/123/"
headers = {"X-Api-Key": "<Your API Key>"}

response = requests.get(url, headers=headers)
print(response.json())

GET /api/v1/projects/{id}/

Описание: Возвращает подробную информацию о конкретном проекте, включая его название, план и настройки webhook.

Параметры:

НазваниеГдеТипОбязательныйОписание
idpathintegerДаУникальное целочисленное значение, идентифицирующее проект.

Ответы:

  • 200 OK:
    • Content-Type: application/json
      • Схема:
        • id (integer) Обязательное: Уникальный ID проекта.
        • name (string) Обязательное: Название проекта.
        • total_spent (object) Обязательное: Общая потраченная сумма в разбивке по валютам. Каждый ключ — код валюты (например, USD, SR), каждое значение — соответствующая сумма в виде строки в нормализованном десятичном формате (например, {"USD": "0.00038", "SR": "0.038"}).
        • attached_provider_keys (array) Обязательное: Список ключей провайдеров, привязанных к проекту.
        • created_at (string) Обязательное: Временная метка создания проекта (ISO 8601).
        • updated_at (string) Обязательное: Временная метка последнего обновления проекта (ISO 8601).
        • webhook_url (string) Обязательное: URL webhook для уведомлений (пустая строка, если не задан).
        • is_webhook_enabled (boolean) Обязательное: Включён ли webhook.
        • can_edit (boolean) Обязательное: Может ли текущий пользователь редактировать этот проект.

Обновление проекта

Shell
curl -X PATCH "https://scriptrun.ai/api/v1/projects/123/" \
-H "X-Api-Key: <Your API Key>" \
-H "Content-Type: application/json" \
-d '{"name": "Updated Project", "webhook_url": "https://example.com", "is_webhook_enabled": true}'
Python
import requests

url = "https://scriptrun.ai/api/v1/projects/123/"
headers = {
"X-Api-Key": "<Your API Key>",
"Content-Type": "application/json"
}
data = {
"name": "Updated Project",
"is_webhook_enabled": True,
"webhook_url": "https://example.com"
}

response = requests.patch(url, headers=headers, json=data)
print(response.json())

PATCH /api/v1/projects/{id}/

Описание: Обновляет данные конкретного проекта. Можно обновить только name, webhook_url и is_webhook_enabled.

Параметры:

НазваниеГдеТипОбязательныйОписание
idpathintegerДаУникальное целочисленное значение, идентифицирующее проект.

Тело запроса:

  • Content-Type: application/json
  • Схема:
    • name (string) Опциональное: Новое название проекта.
    • webhook_url (string) Опциональное: Обновлённый URL webhook.
    • is_webhook_enabled (boolean) Опциональное: Включён ли webhook.

Ответы:

  • 200 OK: Возвращает полный обновлённый объект проекта (та же схема, что и GET /api/v1/projects/{id}/).

Удаление проекта

Shell
curl -X DELETE "https://scriptrun.ai/api/v1/projects/123/" \
-H "X-Api-Key: <Your API Key>"
Python
import requests

url = "https://scriptrun.ai/api/v1/projects/123/"
headers = {"X-Api-Key": "<Your API Key>"}

response = requests.delete(url, headers=headers)
print(response.status_code) # 204 indicates success

DELETE /api/v1/projects/{id}/

Описание: Удаляет конкретный проект по его ID.

Параметры:

НазваниеГдеТипОбязательныйОписание
idpathintegerДаУникальное целочисленное значение, идентифицирующее проект.

Ответы:

  • 204 No Content: Тело ответа отсутствует.