Schedules
Base path: https://api.scrapy.infralyon.com/v1/schedules
Auth required. Owner-scoped. Soft-delete on DELETE.
For a full walkthrough see Schedules guide.
List schedules
GET /v1/schedules?offset=0&limit=20
curl -s "https://api.scrapy.infralyon.com/v1/schedules?limit=20" \
-H "Authorization: Bearer $SCRAPY_API_KEY"
Response 200
{
"data": {
"items": [
{
"id": "…",
"publisher": "datadoping",
"slug": "instagram-profile-scraper",
"toolName": "Instagram Profile Scraper",
"runName": "nasa-daily",
"timezone": "UTC",
"frequency": "repeatedly",
"date": "2026-09-08",
"time": "09:00",
"repeatFrequency": "daily",
"inputsCount": 1,
"isActive": true,
"notificationsEnabled": false,
"createdAt": "2026-09-07T12:00:00.000Z"
}
],
"total": 1,
"offset": 0,
"limit": 20
}
}
Create schedule
POST /v1/schedules
Idempotency-Key: optional-unique-string
curl -s -X POST "https://api.scrapy.infralyon.com/v1/schedules" \
-H "Authorization: Bearer $SCRAPY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: my-client-key-1" \
-d '{
"publisher": "datadoping",
"slug": "instagram-profile-scraper",
"runName": "nasa-daily",
"timezone": "UTC",
"frequency": "repeatedly",
"date": "2026-09-08",
"time": "09:00",
"repeatFrequency": "daily",
"inputs": ["nasa"]
}'
Body
| Field | Required | Notes |
|---|---|---|
publisher | yes | Public publisher slug |
slug | yes | Tool slug |
runName | yes | Display name |
timezone | yes | IANA tz |
frequency | yes | one-time | repeatedly |
date | yes | YYYY-MM-DD |
time | yes | HH:MM |
inputs | yes | Non-empty string[] |
repeatFrequency | if repeatedly | every_10_mins | hourly | daily | weekly | monthly |
Responses
| Status | Meaning |
|---|---|
201 | Created ({ "data": { …schedule } }) |
400 | Validation |
402 | Insufficient credits |
404 | Tool not found / inactive |
409 | Idempotency key still processing |
Get schedule
GET /v1/schedules/{scheduleId}
200 with { "data": { … } } or 404.
Patch schedule
PATCH /v1/schedules/{scheduleId}
Body must include exactly one of:
{ "isActive": false }
or
{ "notificationsEnabled": true }
curl -s -X PATCH "https://api.scrapy.infralyon.com/v1/schedules/$SCHEDULE_ID" \
-H "Authorization: Bearer $SCRAPY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"isActive": false}'
Delete schedule
DELETE /v1/schedules/{scheduleId}
Soft-deletes and deactivates. Response:
{ "data": { "ok": true } }