Response envelope
Success responses wrap the payload in data:
json
{ "data": { "id": "…" } }
Paginated responses add meta.pagination:
json
{
"data": [],
"meta": {
"pagination": {
"page": 1,
"totalPages": 4,
"pageSize": 25,
"total": 87,
"hasMore": true,
"nextCursor": "eyJ…"
}
}
}
page and totalPages appear on page-based endpoints, nextCursor on cursor-based
ones. Deletes return 204 with no body.