Создать шаблон пайплайна
Создаёт пользовательский шаблон пайплайна с заданными шагами. Шаблон можно использовать в `POST /tasks` через `pipeline_id`.
Authorization
AuthorizationRequiredBearer <token>API ключ для аутентификации. Передавайте в заголовке Authorization: Bearer sk-...
In: header
Request Body
application/jsonRequirednameRequiredstringНазвание шаблона
255descriptionstringОписание шаблона
1000stepsRequiredarray<object>Response Body
Шаблон создан
successbooleandataobjectОшибка валидации запроса. Тело запроса не соответствует схеме или содержит невалидные значения.
Поле errors содержит детализацию по каждому невалидному полю.
successRequiredbooleanerrorRequiredobjecterrorsarray<object>Детализация ошибок валидации (при code=VALIDATION_ERROR)
Ошибка аутентификации.
| Код | Причина | Что делать |
|---|---|---|
MISSING_API_KEY | Заголовок Authorization отсутствует | Добавьте Authorization: Bearer sk-... |
INVALID_AUTH_FORMAT | Неверный формат заголовка | Используйте формат Bearer sk-... |
INVALID_API_KEY | Ключ не найден в системе | Проверьте ключ в личном кабинете |
API_KEY_INACTIVE | Ключ деактивирован | Активируйте ключ в личном кабинете |
API_KEY_EXPIRED | Срок действия ключа истёк | Создайте новый ключ |
successRequiredbooleanerrorRequiredobjecterrorsarray<object>Детализация ошибок валидации (при code=VALIDATION_ERROR)
Превышен лимит запросов для вашего тарифа. Повторите запрос через время, указанное в заголовке Retry-After.
Лимиты зависят от тарифа (см. раздел Тарифы в личном кабинете).
successRequiredbooleanerrorRequiredobjecterrorsarray<object>Детализация ошибок валидации (при code=VALIDATION_ERROR)
curl -X POST "/api/v1/pipelines" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Транскрибация",
"steps": [
{
"name": "fetch",
"depends_on": []
},
{
"name": "transcode",
"depends_on": [
"fetch"
]
},
{
"name": "transcribe",
"depends_on": [
"transcode"
]
}
]
}'const body = JSON.stringify({
"name": "Транскрибация",
"steps": [
{
"name": "fetch",
"depends_on": []
},
{
"name": "transcode",
"depends_on": [
"fetch"
]
},
{
"name": "transcribe",
"depends_on": [
"transcode"
]
}
]
})
fetch("/api/v1/pipelines", {
headers: {
"Authorization": "Bearer <token>"
},
body
})package main
import (
"fmt"
"net/http"
"io/ioutil"
"strings"
)
func main() {
url := "/api/v1/pipelines"
body := strings.NewReader(`{
"name": "Транскрибация",
"steps": [
{
"name": "fetch",
"depends_on": []
},
{
"name": "transcode",
"depends_on": [
"fetch"
]
},
{
"name": "transcribe",
"depends_on": [
"transcode"
]
}
]
}`)
req, _ := http.NewRequest("POST", url, body)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}import requests
url = "/api/v1/pipelines"
body = {
"name": "Транскрибация",
"steps": [
{
"name": "fetch",
"depends_on": []
},
{
"name": "transcode",
"depends_on": [
"fetch"
]
},
{
"name": "transcribe",
"depends_on": [
"transcode"
]
}
]
}
response = requests.request("POST", url, json = body, headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
})
print(response.text){
"success": true,
"data": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"description": "string",
"steps": [
{
"name": "fetch",
"depends_on": [],
"options": {}
}
],
"is_default": true,
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid request body"
},
"errors": [
{
"field": "url",
"message": "Укажите url или input"
}
]
}{
"success": false,
"error": {
"code": "MISSING_API_KEY",
"message": "API key is required. Pass it in Authorization header: Bearer sk-..."
}
}{
"success": false,
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Try again in 12 seconds"
}
}