Skip to content
reelspanDocs

Accounts

Preferences

Read and change the workspace preferences - the day weeks start on, and the default time zone a post's scheduled_date is read in.

GETapi.reelspan.com/v1/preferencesTry it →

Preferences are settings for the whole workspace. There are two:

Preference Values What it does
weekStartDay 1 Monday (the default), 0 Sunday The first day of the week in calendars.
timezone an IANA zone such as Europe/London, or null (the default, UTC) The zone a post's scheduled_date is read in when the post sends no timezone.

Read them

curl https://api.reelspan.com/v1/preferences \
  -H "Authorization: Bearer $REELSPAN_API_KEY"
{ "success": true, "preferences": { "weekStartDay": 1, "timezone": null } }

Any key can read them, whatever its scopes. GET /v1/me returns the same preferences.

Change them

Send only what changes. The answer has all the preferences as saved:

curl -X POST https://api.reelspan.com/v1/preferences \
  -H "Authorization: Bearer $REELSPAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"timezone": "America/New_York"}'
{ "success": true, "preferences": { "weekStartDay": 1, "timezone": "America/New_York" } }

Send "timezone": null to go back to UTC. An unknown zone gets 400 INVALID_REQUEST, and a weekStartDay other than 0 or 1 gets 400. Changing preferences needs a key with the profiles scope.

The default time zone

With a timezone preference, a post that sends scheduled_date without its own timezone is scheduled in the workspace's zone. With the preference above, this post goes out at 9:00 in New York:

curl -X POST https://api.reelspan.com/v1/posts/video \
  -H "Authorization: Bearer $REELSPAN_API_KEY" \
  -F "user=my-brand" \
  -F "platform[]=tiktok" \
  -F "title=Launch day" \
  -F "scheduled_date=2026-12-01T09:00:00" \
  -F "[email protected]"
  • A timezone sent with the post always wins.
  • A scheduled_date with its own offset (2026-12-01T09:00:00-05:00 or …Z) is that exact moment, whatever the zones say.
  • Only new posts use the preference. Rescheduling a post with PATCH /v1/scheduled/{job_id} keeps the zone it was scheduled in, and a retry later without timezone uses UTC.

See Scheduling and repeats for the rest of scheduling.

GETapi.reelspan.com/v1/preferencesTry it →

Responses

200 Preferences

{
  "success": true,
  "preferences": {
    "weekStartDay": 0,
    "timezone": "string"
  }
}
POSTapi.reelspan.com/v1/preferencesTry it →

Request body

application/json

  • weekStartDaynumber

    0 = Sunday, 1 = Monday

  • timezonestring

    IANA zone used for scheduled_date when a post sends no timezone (null: UTC)

Responses

200 Saved

{
  "success": true,
  "preferences": {
    "weekStartDay": 0,
    "timezone": "string"
  }
}

400 Invalid value

{
  "success": false,
  "message": "string",
  "error": "string",
  "error_code": "string"
}

Something unclear or missing? Write to [email protected] and we’ll fix the page.