Skip to main content
The REST API is available under $SILO_API_URL/v1. Requests and responses use JSON unless an endpoint says otherwise. Use the live OpenAPI 3.1 document at $SILO_API_URL/v1/openapi as the source of truth for request and response schemas.

Resource routes

Collection routes support GET and POST. Append the resource ID to use GET, PATCH, or DELETE on one record. Article item routes also include the site ID, and issue item routes also include the magazine ID.

List records

List endpoints accept:
  • limit: maximum records to return
  • cursor: opaque cursor from the preceding response
  • search: optional case-insensitive text filter
Do not inspect or construct cursors. Pass pageInfo.nextCursor unchanged in the next request.

Search records

Search routes accept a required query and an optional limit. Search for books, magazines, issues, CRM records, and knowledge files also supports an opaque cursor where advertised by OpenAPI. Article search returns article and CMS taxonomy sources within one site. Knowledge search searches content visible to the authenticated user, not files from other organizations or private files the user cannot access.

Create an article draft

Article writes accept structured article-level fields and version-level fields. A public API create produces a draft.
Use PATCH for partial updates. At least one supported field must be present. Unknown fields are rejected instead of being silently ignored.

Write behavior

Every create, update, and delete request:
  • verifies the token’s organization, user, client, resource, and scope
  • checks current Silo module and resource permissions
  • verifies that referenced resources belong to the authorized tenant
  • enters the same transaction and outbox pipeline used by Silo Admin
  • emits normal downstream updates only after the database transaction commits
Use an Idempotency-Key on all writes so a timeout can be retried without duplicating the operation. See Errors and idempotency.