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__icontains | query | string | Нет | Фильтрация проектов по имени (без учёта регистра). |
page | query | integer | Нет | Номер страницы в результатах с пагинацией. |
size | query | integer | Нет | Количество результатов на странице. |
Ответы:
- 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) Обязательное: Может ли текущий пользователь редактировать этот проект.
- id (
- page (
- Схема:
- Content-Type:
Пример ответа:
{
"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.
- name (
Ответы:
- 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) Обязательное: Может ли текущий пользователь редактировать этот проект.
- id (
- Схема:
- Content-Type:
Получение проекта
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.
Параметры:
| Название | Где | Тип | Обязательный | Описание |
|---|---|---|---|---|
id | path | integer | Да | Уникальное целочисленное значение, идентифицирующее проект. |
Ответы:
- 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) Обязательное: Может ли текущий пользователь редактировать этот проект.
- id (
- Схема:
- Content-Type:
Обновление проекта
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.
Параметры:
| Название | Где | Тип | Обязательный | Описание |
|---|---|---|---|---|
id | path | integer | Да | Уникальное целочисленное значение, идентифицирующее проект. |
Тело запроса:
- Content-Type:
application/json - Схема:
- name (
string) Опциональное: Новое название проекта. - webhook_url (
string) Опциональное: Обновлённый URL webhook. - is_webhook_enabled (
boolean) Опциональное: Включён ли webhook.
- name (
Ответы:
- 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.
Параметры:
| Название | Где | Тип | Обязательный | Описание |
|---|---|---|---|---|
id | path | integer | Да | Уникальное целочисленное значение, идентифицирующее проект. |
Ответы:
- 204 No Content: Тело ответа отсутствует.