Back to Content Management API
contentReleases
Returns a list of content releases paginated by a cursor. Releases are returned newest first unless sort is provided.
Arguments
- Name
first- Type
- Int
- Description
Returns up to the first
nreleases. Maximum200.
- Name
after- Type
- String
- Description
Returns the releases that come after the specified cursor.
- Name
status- Type
- ContentReleaseStatus
- Description
Filters releases by status:
open,publishing,published, orarchived.
- Name
search- Type
- String
- Description
Case-insensitive search across release name, handle, and description.
- Name
sort- Type
- ContentReleaseSort
- Description
The sort order:
CREATED_AT_DESC,CREATED_AT_ASC,UPDATED_AT_DESC,UPDATED_AT_ASC,NAME_ASC, orNAME_DESC.
Returns
- Name
ContentReleaseConnection.edges- Type
- [ContentReleaseEdge!]!
- Description
A list of edges.
- Name
ContentReleaseConnection.nodes- Type
- [ContentRelease!]!
- Description
A list of releases. Each node supports any field from the ContentRelease object.
- Name
ContentReleaseConnection.pageInfo- Type
- PageInfo!
- Description
Information to aid in pagination.
Request
import { PackClient } from '@pack/client'
const packClient = new PackClient({
token: 'YOUR-PACK-TOKEN',
})
const query = `
query ContentReleases($first: Int, $status: ContentReleaseStatus, $search: String, $sort: ContentReleaseSort) {
contentReleases(first: $first, status: $status, search: $search, sort: $sort) {
nodes {
id
name
handle
status
updatedAt
}
pageInfo {
hasNextPage
endCursor
}
}
}
`
const variables = {
first: 20,
status: 'open',
search: 'holiday',
sort: 'UPDATED_AT_DESC',
}
const response = await packClient.fetch(query, { variables })
console.log(response.data)
Response
{
"data": {
"contentReleases": {
"nodes": [
{
"id": "release-id",
"name": "Holiday launch",
"handle": "holiday-launch",
"status": "open",
"updatedAt": "2026-09-20T15:04:12.000Z"
}
],
"pageInfo": {
"hasNextPage": false,
"endCursor": "cursor-1"
}
}
}
}