Skip to content
Sign in Waitlist
Docs/API reference/Channels/Save channel time slots

Save channel time slots

PUT /v1/channels/:network/slots scope write

Replaces all weekly time slots of a channel and reorganizes what is in its queue (channel picks the account).

HeadersAuthorization: Bearer praeko_… and X-Praeko-Contract: en. Always send both.

Legacy Portuguese alias (still answered, marked as deprecated): /v1/canais/:rede/vagas.

Parameters

Name In Description
network path Network: youtube, instagram or tiktok.
channel query Account id when the network has several (from GET /v1/channels). Without it, the default channel.

Request body

JSON. Required fields must be sent; the others can be left out.

Field Type Description
timezone (optional) string IANA time zone of the channel. Without it, the current one is kept. Up to 64 characters.
slots required (string | object)[] The weekly time slots (they replace ALL current ones; at most 100). Each one is a string "fri 17:30" or an object { "day": "fri", "time": "17:30" }. Days: sun, mon, tue, wed, thu, fri, sat (or weekday from 0 to 6). Time: HH:MM from 00:00 to 23:59. Duplicates are merged. Up to 100 items.
Body example
{
  "timezone": "America/Sao_Paulo",
  "slots": [
    "mon 12:00",
    "fri 17:30",
    {
      "day": "sun",
      "time": "22:00"
    }
  ]
}

Example

curl -X PUT "https://praeko.app/v1/channels/youtube/slots" \
  -H "Authorization: Bearer $PRAEKO_KEY" \
  -H "X-Praeko-Contract: en" \
  -H "Content-Type: application/json" \
  -d '{
  "timezone": "America/Sao_Paulo",
  "slots": [
    "mon 12:00",
    "fri 17:30",
    {
      "day": "sun",
      "time": "22:00"
    }
  ]
}'

Response

Success status When
200 Success.
Response 200
{
  "network": "youtube",
  "timezone": "America/Sao_Paulo",
  "slots": [
    {
      "weekday": 0,
      "day": "sun",
      "time": "22:00",
      "active": true
    },
    {
      "weekday": 1,
      "day": "mon",
      "time": "12:00",
      "active": true
    },
    {
      "weekday": 5,
      "day": "fri",
      "time": "17:30",
      "active": true
    }
  ],
  "rescheduled": []
}

Errors

Status code When
400 empty_body The request body is empty.
400 invalid_json The request body is not a JSON object.
413 body_too_large The request body is larger than 1 MB.
422 invalid_field Invalid time or day, more than 100 time slots, or unknown time zone.
404 channel_not_found The network is not connected.
404 unknown_network Unknown network.

Errors on any route

Status code When
401 unauthorized The Authorization: Bearer … header is missing.
401 invalid_api_key The key does not exist.
401 revoked_api_key The key has been revoked.
401 expired_api_key The key has expired.
403 forbidden The key's scope is not enough for this route (see the scope badge).
429 rate_limited The per-minute request limit was exceeded.

The body of every error is { "error": { "code", "message", "details"? } }. See all error codes.

Try it

Try it

The live test uses your key and your account. It stays off when you are not signed in.

Sign in to try it
Question or mistake on this page? contato@praeko.appView .md

Type to search pages, routes and error codes.