API Reference
Complete reference for the Wrytze Blog REST API.
The Wrytze Blog REST API gives you read-only access to published blog content from your workspace. Use it to display Wrytze-managed blogs on your own website, mobile app, or any other platform.
Base URL
All API requests are made to the following base URL:
https://app.wrytze.com/api/v1Authentication
Every request must include a valid API key in the X-API-Key header. API keys are scoped to a single organization and can be created from the Wrytze dashboard.
curl https://app.wrytze.com/api/v1/blogs \
-H "X-API-Key: wrz_sk_abc123..."See the Authentication guide for details on creating and managing API keys.
Content-Type
All responses are returned as application/json. There is no need to set an Accept header, but you may include Accept: application/json if you prefer to be explicit.
Versioning
The API uses URL-based versioning. The current version is v1, included in every endpoint path:
/api/v1/blogs
/api/v1/categories
/api/v1/tagsBreaking changes will never be introduced to an existing version. If a new version is released, the previous version will continue to work for a minimum of 6 months with a deprecation notice before any changes.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /blogs | List published blogs |
GET | /blogs/:id | Get a blog by ID |
GET | /blogs/slug/:slug | Get a blog by slug |
GET | /categories | List categories |
GET | /tags | List tags |
Response Format
Success (list)
List endpoints return an array of resources wrapped in a data field, alongside a pagination object:
{
"data": [
{ "id": "...", "title": "..." }
],
"pagination": {
"page": 1,
"limit": 20,
"total": 42,
"pages": 3
}
}Success (single resource)
Single-resource endpoints return the resource in a data field:
{
"data": {
"id": "...",
"title": "..."
}
}Error
Error responses use a consistent format with an error object containing a human-readable message and HTTP status code:
{
"error": {
"message": "Human-readable error description",
"status": 400
}
}See the Errors reference for a full list of error codes.
Caching
All API responses are cached server-side using Redis to ensure fast response times. When a response is served from cache, the response includes an X-Cache: HIT header.
Cache durations vary by endpoint:
| Endpoint | Cache TTL |
|---|---|
GET /blogs | 5 minutes |
GET /blogs/:id | 15 minutes |
GET /blogs/slug/:slug | 15 minutes |
GET /categories | 5 minutes |
GET /tags | 5 minutes |
Cache is automatically invalidated when content changes in the Wrytze dashboard.