Replaces all slots. timezone changes the profile's time zone. With reshuffle: true, posts already waiting in the queue move to the new slots in the order they were added; otherwise they keep their times. Send slots: [] to clear the queue.
Requires profiles:write.
Authorization
bearerAuth API key starting with fh_
In: header
Path Parameters
Profile id
^prof_[0-9a-fA-F]{32}$Header Parameters
Any unique string up to 255 characters. A retry with the same key within 24 hours returns the first response instead of running again.
length <= 255Request Body
application/json
items <= 200IANA time zone, e.g. Europe/Berlin
Move queued posts to the new slots
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://feedhorizon.com/api/v1/profiles/prof_0195f0a27b3c7d4e8f5a1b2c3d4e5f60/queue" \ -H "Content-Type: application/json" \ -d '{ "slots": [ { "dayOfWeek": 6, "time": "string" } ] }'{
"data": {
"profileId": "prof_0195f0a27b3c7d4e8f5a1b2c3d4e5f60",
"enabled": true,
"timezone": "string",
"slots": [
{
"dayOfWeek": 6,
"time": "string"
}
]
}
}{
"error": {
"type": "invalid_request_error",
"code": "invalid_json",
"message": "The body is not valid JSON",
"docUrl": "https://feedhorizon.com/docs/api/errors#invalid_request_error",
"requestId": "req_m2x81a0kfd3h9s"
}
}{
"error": {
"type": "authentication_error",
"code": "missing_api_key",
"message": "No Authorization: Bearer header",
"docUrl": "https://feedhorizon.com/docs/api/errors#authentication_error",
"requestId": "req_m2x81a0kfd3h9s"
}
}{
"error": {
"type": "permission_error",
"code": "insufficient_scope",
"message": "The key lacks the scope for this endpoint",
"docUrl": "https://feedhorizon.com/docs/api/errors#permission_error",
"requestId": "req_m2x81a0kfd3h9s"
}
}{
"error": {
"type": "not_found_error",
"code": "resource_not_found",
"message": "The resource does not exist, belongs to another organization, or the key cannot see its profile. A malformed id is also a 404",
"docUrl": "https://feedhorizon.com/docs/api/errors#not_found_error",
"requestId": "req_m2x81a0kfd3h9s"
}
}{
"error": {
"type": "idempotency_error",
"code": "idempotency_request_in_progress",
"message": "The first request with this key is still running. Retry in a few seconds",
"docUrl": "https://feedhorizon.com/docs/api/errors#idempotency_error",
"requestId": "req_m2x81a0kfd3h9s"
}
}{
"error": {
"type": "idempotency_error",
"code": "idempotency_key_reused",
"message": "The key was used for a different request. Use a new key",
"docUrl": "https://feedhorizon.com/docs/api/errors#idempotency_error",
"requestId": "req_m2x81a0kfd3h9s"
}
}{
"error": {
"type": "rate_limit_error",
"code": "rate_limited",
"message": "Too many requests. Wait the seconds in Retry-After",
"docUrl": "https://feedhorizon.com/docs/api/errors#rate_limit_error",
"requestId": "req_m2x81a0kfd3h9s"
}
}{
"error": {
"type": "api_error",
"code": "internal_error",
"message": "Something failed on our side. Retry with backoff, using the same Idempotency-Key for writes",
"docUrl": "https://feedhorizon.com/docs/api/errors#api_error",
"requestId": "req_m2x81a0kfd3h9s"
}
}Get the queue of a profile GET
Requires `profiles:read`.
List upcoming queue slots GET
The next slots of the queue, each with the post that holds it. Free slots have `postId: null`; the first free one is where `addToQueue` puts the next post. Empty when the queue is off or has no slots. Requires `profiles:read`.