API reference

REST & GraphQL, fully documented.

Every endpoint with parameters, auth and examples - auto-generated from our OpenAPI spec. The interactive reference lives in the docs: this shows the layout.

Endpoints
GET/api/{pluralApiName}

Returns a paginated list of published entries. Available at /api/{pluralApiName} or /api/{singularApiName}. Supports locale, page, pageSize, sort, fields, populate, depth and filters.

// GET list - plural or singular API name
const res = await fetch(
  "https://api.symcocms.com/api/{pluralApiName}?locale=en&page=1"
);
const { data, total, totalPages } = await res.json();

Query parameters

ParameterTypeDescription
localestringLocale code, e.g. hu. Defaults to the default locale.
pagenumberPage number (default 1).
pageSizenumberItems per page (default 25).
sortstringSort, e.g. createdAt:desc,title:asc.
fieldsstringComma-separated fields to return.
populatestringRelations, components and media to expand. Use * for all.
depthnumberPopulate depth (default 1).
filters[field][$op]anyFilter expression - see operators below.
logicstringCombine filters: and (default) or or.

Filter operators

OperatorMeaning
$eqEquals
$neNot equal
$lt / $lteLess than / or equal
$gt / $gteGreater than / or equal
$in / $notinIn / not in a list
$contains / $notcontainsContains / does not contain
$startswith / $endswithStarts / ends with
$null / $notnullIs null / is not null
$betweenBetween two values

Response shape

// GET /api/{collection}?locale=en&page=1
{ "data": [
  { "id": 1, "publicId": "a1b2…", "locale": "en",
    "published": true, "data": { /* your fields */ } }
  ],
  "page": 1, "pageSize": 25, "total": 42, "totalPages": 2 }

GraphQL

Every content type is also queryable over GraphQL at POST /graphql (interactive GraphiQL at /graphiql). Query fields use the camelCase API names; collections return a connection with data and pageInfo.

# POST /graphql
query {
  articles(locale: "en", page: 1, pageSize: 10) {
    data { id publicId locale }
    pageInfo { total page pageSize totalPages }
  }
}