Docs

REST API

REST API Overview

REST API Overview

REST API Overview

The REST API is standard HTTP with JSON request and response bodies.

Base URL

https://schedulenchill.com/api

The API is currently unversioned. Breaking changes will be announced in the Changelog.

Authentication

Send your API key as a bearer token on every request. See Authentication.

Authorization: Bearer YOUR_API_KEY

Request format

Send JSON bodies with both headers set:

-H "Content-Type: application/json"
-H "Accept: application/json"

The Accept: application/json header ensures errors come back as JSON rather than HTML redirects.

Resources

Resource Endpoints
Posts GET/POST /posts, GET/PUT/DELETE /posts/{id}
Media GET/POST /media, GET/PUT/DELETE /media/{id}
API Keys GET/POST /api-keys, DELETE /api-keys/{id}

Pagination

List endpoints are paginated and return a Laravel-style envelope:

{
  "data": [ ],
  "links": { "first": "…", "last": "…", "prev": null, "next": "…" },
  "meta": { "current_page": 1, "per_page": 20, "last_page": 5, "total": 100 }
}

Pass ?page=2 to page through results. Posts return 20 per page; media returns 15.

Timestamps

All timestamps are ISO 8601. Send scheduled_at in UTC (e.g. 2026-06-10T14:00:00Z) to avoid ambiguity.

Errors

Errors use standard HTTP status codes with a JSON body. Validation failures return 422 with a field-keyed errors object. See Errors & Status Codes.