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 & path | Does |
|---|---|
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
- Query parameters - for filtering, pagination, and identifiers on any method.
- JSON body - for writes, send
Content-Type: application/jsonwith a JSON object.
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.