Wyślij URL-e z własnego workflow.
REST API przyjmuje paczki do 100 adresów, waliduje dane i zwraca osobne ID dla każdego zadania.
Uwierzytelnianie
Przekaż klucz w nagłówku każdego żądania.
Authorization: Bearer idx_test_••••••••••••Klucz testowy idx_test_free100 jest publiczny i służy wyłącznie do sprawdzenia kontraktu endpointu.
POST
/api/v1/indexTworzy paczkę zadań w trybie standard lub priority.
| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
urls | string[] | tak | Od 1 do 100 pełnych adresów HTTPS. |
mode | string | tak | standard albo priority. |
curl -X POST {BASE_URL}/api/v1/index \
-H "Authorization: Bearer idx_test_free100" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: campaign-2026-07-20" \
-d '{
"urls": [
"https://example.com/nowy-artykul",
"https://example.com/kategoria/seo"
],
"mode": "standard"
}'const response = await fetch("/api/v1/index", {
method: "POST",
headers: {
Authorization: "Bearer idx_test_free100",
"Content-Type": "application/json",
"Idempotency-Key": "campaign-2026-07-20"
},
body: JSON.stringify({
urls: ["https://example.com/nowy-artykul"],
mode: "standard"
})
});
const result = await response.json();{
"data": {
"batch_id": "batch_a18c90d4e21b",
"mode": "standard",
"jobs": [
{
"id": "job_b9f31d079c4a",
"url": "https://example.com/nowy-artykul",
"status": "queued"
}
],
"credits_charged": 2,
"demo": true
}
}GET
/api/v1/jobs/:idZwraca aktualny status zadania. W prototypie poprawne identyfikatory zaczynają się od job_.
GET /api/v1/jobs/job_b9f31d079c4aBłędy
400
invalid_jsonBody nie jest JSON-em.401
unauthorizedBrak aktywnego Bearer tokenu.422
invalid_urlsPusta paczka, zbyt dużo adresów lub zły URL.429
rate_limitedPrzekroczono limit żądań.Limity i powtórzenia
Buduj małe, idempotentne paczki.
- 100 adresów na żądanie API
- 100 żądań na minutę dla klucza
-
Idempotency-Keyzalecany dla POST