Core concepts

Requests & routing

Call the API with the standard HTTP methods you already know - GET reads, POST creates, PUT updates, PATCH partially updates, DELETE deletes - on clean resource paths.

Standard HTTP methods

Send a normal HTTP method to a clean resource path. The method determines the operation:

Method & pathDoes
GET /products/List products
GET /products/{id}/Get one product
POST /products/Create a product
PUT /products/{id}/Update a product (full)
PATCH /products/{id}/Update a product (partial)
DELETE /products/{id}/Delete a product

POST creates and PUT updates - the conventions you already know. No verb prefix in the path; just send the real HTTP method.

A write in practice

Creating a product is a plain POST to the collection:

curl -s -X POST "https://api.readycms.io/products/?namespace=<tenant>&lang=en" \
  -H "Authorization: Bearer <app_id>:<app_secret>" \
  -H "Content-Type: application/json" \
  -d '{ "title": "New product", "price": 12.50 }'

Passing data

When the same key appears in both the query string and a JSON body, the query string wins. Send each value in exactly one place to avoid surprises.

Every response is traceable

Each response includes an X-Request-Id header and a matching request_id in the body. Log it - it is the fastest way to trace a specific call end-to-end.

Content types

Responses are always application/json; charset=utf-8. Even errors are valid JSON - the API never returns raw server output in the body.