API Nurax
Программный доступ к платформе Nurax — управление песочницами, интеграции, автоматизация.
Платформа Nurax предоставляет программный интерфейс (API) для управления песочницами, пользователями и биллингом. API позволяет автоматизировать рабочие процессы и интегрировать Nurax в вашу инфраструктуру.
Общая информация
- Базовый URL:
https://next.nurax.ai/v1 - Формат данных: JSON
- Авторизация: Bearer-токен (access token Supabase)
Аутентификация
Для работы с API необходимо получить access-токен. Это можно сделать через стандартный парольный грант Supabase:
curl -X POST https://ВАШ_ПРОЕКТ.supabase.co/auth/v1/token?grant_type=password \
-H "apikey: ВАШ_ANON_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "ВАШ_EMAIL", "password": "ВАШ_ПАРОЛЬ"}'Ответ будет содержать access_token, который нужно передавать в заголовке:
curl https://next.nurax.ai/v1/platform/sandbox \
-H "Authorization: Bearer ВАШ_ACCESS_TOKEN"Основные эндпоинты
Песочницы
| Метод | Эндпоинт | Описание |
|---|---|---|
POST | /v1/platform/sandbox | Создать новую песочницу |
GET | /v1/platform/sandbox/:id | Получить информацию о песочнице |
GET | /v1/platform/sandbox/:id/status | Получить статус и стадию провиженинга |
POST | /v1/platform/sandbox/:id/stop | Остановить песочницу |
POST | /v1/platform/sandbox/:id/start | Запустить песочницу |
POST | /v1/platform/sandbox/:id/restart | Перезапустить песочницу |
DELETE | /v1/platform/sandbox/:id | Удалить песочницу |
POST | /v1/platform/sandbox/:id/update | Обновить версию песочницы |
Биллинг
| Метод | Эндпоинт | Описание |
|---|---|---|
POST | /v1/billing/setup/initialize | Инициализация биллинга для нового пользователя |
POST | /v1/billing/checkout | Создать сессию оплаты |
GET | /v1/billing/subscription | Получить информацию о подписке |
Публикация
| Метод | Эндпоинт | Описание |
|---|---|---|
GET | /v1/p/:id/:port | Публичный доступ к приложению в песочнице |
GET | /v1/p/share/:token | Доступ к опубликованному приложению по ссылке |
Полный цикл: создание и ожидание песочницы
Вот пример скрипта на Node.js, который создаёт песочницу и ждёт её готовности:
const API = 'https://next.nurax.ai/v1';
const TOKEN = 'ВАШ_ACCESS_TOKEN';
async function createAndWait() {
// Создание песочницы
const res = await fetch(`${API}/platform/sandbox`, {
method: 'POST',
headers: {
Authorization: `Bearer ${TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ provider: 'opensandbox' }),
});
const { data } = await res.json();
const sandboxId = data.sandbox_id;
console.log('Песочница создаётся:', sandboxId);
// Ожидание готовности
for (;;) {
const statusRes = await fetch(`${API}/platform/sandbox/${sandboxId}/status`, {
headers: { Authorization: `Bearer ${TOKEN}` },
});
const status = await statusRes.json();
console.log(status.stage, status.stageProgress, status.stageMessage);
if (status.status === 'active') {
console.log('Готово!');
break;
}
if (status.status === 'error') {
throw new Error('Ошибка: ' + (status.error || 'неизвестная ошибка'));
}
await new Promise(r => setTimeout(r, 3000));
}
}
createAndWait().catch(console.error);Подробнее читайте в разделе Песочницы.