---
title: Latest Publications
---
## Get Latest Publications
**Required scope:** `public-api:read`
The endpoint provides an unresolved Publication with 4 possible top-level properties:
- systemdata
- metadata
- content
- references
**Use Cases**
- Bulk export of data, e.g. a specific `Content Type`
**History**
| Version | Change |
| ------- | ------ |
| release-2026-01 | Responds with an object containing a `results` array. |
| release-2025-03 | Support for top-level property `references` promoted from `beta` to version `2025-03`. |
| release-2024-03 | Added `ignoreComponentConditions` and `componentConditions` query parameters. |
| release-2023-09 | The type `documents` within `references` changed to `document` where every document id has a separate reference entry. |
| release-2021-06 | Added `reverse`, `contentTypes`, `id.gte` (and other range filters), `publishedAt.gte` (and other range filters). |
| release-2020-12 | Added beta endpoint with `references` property in the response objects. |
**Curl Example**
```bash
ACCESS_TOKEN=ey1234
curl -k -X GET "https://server.livingdocs.io/api/2026-05/documents/latestPublications" \
-H "Authorization: Bearer $ACCESS_TOKEN"
```
**Endpoint**
```http
GET /api/2026-05/documents/latestPublications
```
**Parameters**
| Name | Type | Required | Notes |
| ---- | ---- | :------: | ----- |
| ?fields | string | | Filters which (comma separated) properties are included in the response. Defaults to `systemdata,metadata,content,references` |
| ?reverse | boolean | | Order publications in ascending order instead of the default descending order (the property used for sorting is `lastPublicationDate`). This is useful if you want to paginate using a time based filter |
| ?homepage | boolean | | Return only the document labeled as homepage in the current project |
| ?contentTypes | string | | Comma separated list of content types to use as filter |
| ?documentTypes | string | | Comma separated list of document types to use as filter.
Can be one of `article`, `page`, `data-record` |
| ?id.gte | string | | Filter by document id range.
Supported filters: `id.gte`, `id.gt`, `id.lte`, `id.lt`.
The id range filter is useful if you want to export a lot of documents.
You can do many requests in parallel against the api, where you filter by the specific ranges.
This query is much more flexible than an offset-based filter and works with millions of documents.
Request 1: `?id.gt=0&id.lte=100`
Request 2: `?id.gt=100&id.lte=200`
Request 3: `?id.gt=200&id.lte=300` |
| ?id | string | | Filter by one or multiple document ids.
**Example 1**: `?id=12`
**Example 2**: `?id=100,120,123` |
| ?publishedAt.gte | string | | Filter by publish date range.
Supported filters: `publishedAt.gte`, `publishedAt.gt`, `publishedAt.lte`, `publishedAt.lt` (the filtered property is `lastPublicationDate`).
Example: To retrieve all publications since a specific timestamp, use `?reverse&publishedAt.gte=2021-05-01T00:00:00.000Z`" |
| ?ignoreComponentConditions | boolean | | Added in: [`release-2024-03`](/operations/releases/release-2024-03/)
Provides a way to opt out of component filtering and return all content regardless of whether each component passes the conditional checks.
Default: `false` |
| ?componentConditions | string | | Added in: [`release-2024-03`](/operations/releases/release-2024-03/)
JSON stringified object which contains the component conditions you would like to apply.
Default: `{"dateTime": new Date()}`
Example: `?componentConditions={"dateTime":"2024-02-14T17:25:10.391Z"}` |
| ?limit | integer | | A limit for how much published documents to retrieve. Defaults to 100. Max. 100 |
| ?offset | integer | | An offset into the query. Useful when getting more than 100 results (pagination). Max. 10000. Prefer range based filters like id.get or publishedAt.gte |
**Response**
_200 OK_
```json
{
"results": [
{
"systemdata": {
"projectId": 1,
"channelId": 1,
"documentId": 1,
"contentType": "article",
"documentType": "article",
"publicationId": 1,
"firstPublicationDate": "2022-03-16T14:08:11:000Z",
"significantPublicationDate": "2022-10-26T07:25:00.000Z",
"visiblePublicationDate": "2022-10-27T06:00:00.000Z",
"lastPublicationDate": "2022-10-30T16:32:04.170Z",
"design": {
"name": "timeline",
"version": "1.1.0"
}
},
"metadata": {
"title": "a title",
"description": "some lead",
"dependencies": {}
},
"content": [
{
"id": "doc-1b8i1ksh10",
"component": "head",
"identifier": "timeline.head",
"content": {
"title": "a title",
"text": "some lead"
}
},
{
"id": "doc-1b8i1ksh20",
"component": "normal",
"identifier": "timeline.normal",
"content": {
"caption": "my caption"
},
"styles": {
"position": "left"
}
},
{
"id": "doc-1b8i1ksh30",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "first paragraph"
}
},
{
"id": "doc-1b8i1me1d0",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "second paragraph"
}
}
]
},
{
"systemdata": {
"projectId": 1,
"channelId": 1,
"documentId": 2,
"contentType": "article",
"documentType": "article",
"publicationId": 5,
"firstPublicationDate": "2022-03-16T14:08:11:000Z",
"significantPublicationDate": "2022-10-26T07:25:00.000Z",
"visiblePublicationDate": "2022-10-27T06:00:00.000Z",
"lastPublicationDate": "2022-10-30T16:32:04.170Z",
"design": {
"name": "timeline",
"version": "1.1.0"
}
},
"metadata": {
"title": "another title",
"description": "some other lead",
"dependencies": {}
},
"content": [
{
"id": "doc-1b8i1ksh10",
"component": "head",
"identifier": "timeline.head",
"content": {
"title": "a title",
"text": "some lead"
}
},
{
"id": "doc-1b8i1ksh20",
"component": "normal",
"identifier": "timeline.normal",
"content": {
"caption": "my caption"
},
"styles": {
"position": "left"
}
},
{
"id": "doc-1b8i1ksh30",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "first paragraph"
}
},
{
"id": "doc-1b8i1me1d0",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "second paragraph"
}
}
]
}
]
}
```
## Get Latest Publications
> [!NOTE]
> This endpoint has changes in version 2026-01.
>
**Required scope:** `public-api:read`
The endpoint provides an unresolved Publication with 4 possible top-level properties:
- systemdata
- metadata
- content
- references
**Use Cases**
- Bulk export of data, e.g. a specific `Content Type`
**History**
| Version | Change |
| ------- | ------ |
| release-2025-03 | Support for top-level property `references` promoted from `beta` to version `2025-03`. |
| release-2024-03 | Added `ignoreComponentConditions` and `componentConditions` query parameters. |
| release-2023-09 | The type `documents` within `references` changed to `document` where every document id has a separate reference entry. |
| release-2021-06 | Added `reverse`, `contentTypes`, `id.gte` (and other range filters), `publishedAt.gte` (and other range filters). |
| release-2020-12 | Added beta endpoint with `references` property in the response objects. |
**Curl Example**
```bash
ACCESS_TOKEN=ey1234
curl -k -X GET "https://server.livingdocs.io/api/2025-11/documents/latestPublications" \
-H "Authorization: Bearer $ACCESS_TOKEN"
```
**Endpoint**
```http
GET /api/2025-11/documents/latestPublications
```
**Parameters**
| Name | Type | Required | Notes |
| ---- | ---- | :------: | ----- |
| ?fields | string | | Filters which (comma separated) properties are included in the response. Defaults to `systemdata,metadata,content,references` |
| ?reverse | boolean | | Order publications in ascending order instead of the default descending order (the property used for sorting is `lastPublicationDate`). This is useful if you want to paginate using a time based filter |
| ?homepage | boolean | | Return only the document labeled as homepage in the current project |
| ?contentTypes | string | | Comma separated list of content types to use as filter |
| ?documentTypes | string | | Comma separated list of document types to use as filter.
Can be one of `article`, `page`, `data-record` |
| ?id.gte | string | | Filter by document id range.
Supported filters: `id.gte`, `id.gt`, `id.lte`, `id.lt`.
The id range filter is useful if you want to export a lot of documents.
You can do many requests in parallel against the api, where you filter by the specific ranges.
This query is much more flexible than an offset-based filter and works with millions of documents.
Request 1: `?id.gt=0&id.lte=100`
Request 2: `?id.gt=100&id.lte=200`
Request 3: `?id.gt=200&id.lte=300` |
| ?id | string | | Filter by one or multiple document ids.
**Example 1**: `?id=12`
**Example 2**: `?id=100,120,123` |
| ?publishedAt.gte | string | | Filter by publish date range.
Supported filters: `publishedAt.gte`, `publishedAt.gt`, `publishedAt.lte`, `publishedAt.lt` (the filtered property is `lastPublicationDate`).
Example: To retrieve all publications since a specific timestamp, use `?reverse&publishedAt.gte=2021-05-01T00:00:00.000Z`" |
| ?ignoreComponentConditions | boolean | | Added in: [`release-2024-03`](/operations/releases/release-2024-03/)
Provides a way to opt out of component filtering and return all content regardless of whether each component passes the conditional checks.
Default: `false` |
| ?componentConditions | string | | Added in: [`release-2024-03`](/operations/releases/release-2024-03/)
JSON stringified object which contains the component conditions you would like to apply.
Default: `{"dateTime": new Date()}`
Example: `?componentConditions={"dateTime":"2024-02-14T17:25:10.391Z"}` |
| ?limit | integer | | A limit for how much published documents to retrieve. Defaults to 100. Max. 100 |
| ?offset | integer | | An offset into the query. Useful when getting more than 100 results (pagination). Max. 10000. Prefer range based filters like id.get or publishedAt.gte |
**Response**
_200 OK_
```json
[
{
"systemdata": {
"projectId": 1,
"channelId": 1,
"documentId": 1,
"contentType": "article",
"documentType": "article",
"publicationId": 1,
"firstPublicationDate": "2022-03-16T14:08:11:000Z",
"significantPublicationDate": "2022-10-26T07:25:00.000Z",
"visiblePublicationDate": "2022-10-27T06:00:00.000Z",
"lastPublicationDate": "2022-10-30T16:32:04.170Z",
"design": {
"name": "timeline",
"version": "1.1.0"
}
},
"metadata": {
"title": "a title",
"description": "some lead",
"dependencies": {}
},
"content": [
{
"id": "doc-1b8i1ksh10",
"component": "head",
"identifier": "timeline.head",
"content": {
"title": "a title",
"text": "some lead"
}
},
{
"id": "doc-1b8i1ksh20",
"component": "normal",
"identifier": "timeline.normal",
"content": {
"caption": "my caption"
},
"styles": {
"position": "left"
}
},
{
"id": "doc-1b8i1ksh30",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "first paragraph"
}
},
{
"id": "doc-1b8i1me1d0",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "second paragraph"
}
}
]
},
{
"systemdata": {
"projectId": 1,
"channelId": 1,
"documentId": 2,
"contentType": "article",
"documentType": "article",
"publicationId": 5,
"firstPublicationDate": "2022-03-16T14:08:11:000Z",
"significantPublicationDate": "2022-10-26T07:25:00.000Z",
"visiblePublicationDate": "2022-10-27T06:00:00.000Z",
"lastPublicationDate": "2022-10-30T16:32:04.170Z",
"design": {
"name": "timeline",
"version": "1.1.0"
}
},
"metadata": {
"title": "another title",
"description": "some other lead",
"dependencies": {}
},
"content": [
{
"id": "doc-1b8i1ksh10",
"component": "head",
"identifier": "timeline.head",
"content": {
"title": "a title",
"text": "some lead"
}
},
{
"id": "doc-1b8i1ksh20",
"component": "normal",
"identifier": "timeline.normal",
"content": {
"caption": "my caption"
},
"styles": {
"position": "left"
}
},
{
"id": "doc-1b8i1ksh30",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "first paragraph"
}
},
{
"id": "doc-1b8i1me1d0",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "second paragraph"
}
}
]
}
]
```
## Get Latest Publications
> [!WARNING]
> With the introduction of the new [versioning strategy](/reference/public-api/versioning/llms.txt), the `v1` and `beta` versions are now available as `2025-03` version. If you use any of those versions, you can safely change your integration to the `2025-03` version, which now contains both functionalities without any other changes.
>
**Required scope:** `public-api:read`
The endpoint provides an unresolved Publication with 4 possible top-level properties:
- systemdata
- metadata
- content
- references
**Use Cases**
- Bulk export of data, e.g. a specific `Content Type`
**History**
| Version | Change |
| ------- | ------ |
| release-2024-03 | Added `ignoreComponentConditions` and `componentConditions` query parameters. |
| release-2023-09 | The type `documents` within `references` changed to `document` where every document id has a separate reference entry. |
| release-2021-06 | Added `reverse`, `contentTypes`, `id.gte` (and other range filters), `publishedAt.gte` (and other range filters). |
| release-2020-12 | Added beta endpoint with `references` property in the response objects. |
**Curl Example**
```bash
ACCESS_TOKEN=ey1234
curl -k -X GET "https://server.livingdocs.io/api/beta/documents/latestPublications" \
-H "Authorization: Bearer $ACCESS_TOKEN"
```
**Endpoint**
```http
GET /api/beta/documents/latestPublications
```
**Parameters**
| Name | Type | Required | Notes |
| ---- | ---- | :------: | ----- |
| ?fields | string | | Filters which (comma separated) properties are included in the response. Defaults to `systemdata,metadata,content,references` |
| ?reverse | boolean | | Order publications in ascending order instead of the default descending order (the property used for sorting is `lastPublicationDate`). This is useful if you want to paginate using a time based filter |
| ?homepage | boolean | | Return only the document labeled as homepage in the current project |
| ?contentTypes | string | | Comma separated list of content types to use as filter |
| ?documentTypes | string | | Comma separated list of document types to use as filter.
Can be one of `article`, `page`, `data-record` |
| ?id.gte | string | | Filter by document id range.
Supported filters: `id.gte`, `id.gt`, `id.lte`, `id.lt`.
The id range filter is useful if you want to export a lot of documents.
You can do many requests in parallel against the api, where you filter by the specific ranges.
This query is much more flexible than an offset-based filter and works with millions of documents.
Request 1: `?id.gt=0&id.lte=100`
Request 2: `?id.gt=100&id.lte=200`
Request 3: `?id.gt=200&id.lte=300` |
| ?id | string | | Filter by one or multiple document ids.
**Example 1**: `?id=12`
**Example 2**: `?id=100,120,123` |
| ?publishedAt.gte | string | | Filter by publish date range.
Supported filters: `publishedAt.gte`, `publishedAt.gt`, `publishedAt.lte`, `publishedAt.lt` (the filtered property is `lastPublicationDate`).
Example: To retrieve all publications since a specific timestamp, use `?reverse&publishedAt.gte=2021-05-01T00:00:00.000Z`" |
| ?ignoreComponentConditions | boolean | | Added in: [`release-2024-03`](/operations/releases/release-2024-03/)
Provides a way to opt out of component filtering and return all content regardless of whether each component passes the conditional checks.
Default: `false` |
| ?componentConditions | string | | Added in: [`release-2024-03`](/operations/releases/release-2024-03/)
JSON stringified object which contains the component conditions you would like to apply.
Default: `{"dateTime": new Date()}`
Example: `?componentConditions={"dateTime":"2024-02-14T17:25:10.391Z"}` |
| ?limit | integer | | A limit for how much published documents to retrieve. Defaults to 100. Max. 100 |
| ?offset | integer | | An offset into the query. Useful when getting more than 100 results (pagination). Max. 10000. Prefer range based filters like id.get or publishedAt.gte |
**Response**
_200 OK_
```json
[
{
"systemdata": {
"projectId": 1,
"channelId": 1,
"documentId": 1,
"contentType": "article",
"documentType": "article",
"publicationId": 1,
"firstPublicationDate": "2022-03-16T14:08:11:000Z",
"significantPublicationDate": "2022-10-26T07:25:00.000Z",
"visiblePublicationDate": "2022-10-27T06:00:00.000Z",
"lastPublicationDate": "2022-10-30T16:32:04.170Z",
"design": {
"name": "timeline",
"version": "1.1.0"
}
},
"metadata": {
"title": "a title",
"description": "some lead",
"dependencies": {}
},
"content": [
{
"id": "doc-1b8i1ksh10",
"component": "head",
"identifier": "timeline.head",
"content": {
"title": "a title",
"text": "some lead"
}
},
{
"id": "doc-1b8i1ksh20",
"component": "normal",
"identifier": "timeline.normal",
"content": {
"caption": "my caption"
},
"styles": {
"position": "left"
}
},
{
"id": "doc-1b8i1ksh30",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "first paragraph"
}
},
{
"id": "doc-1b8i1me1d0",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "second paragraph"
}
}
],
"references": [
{
"id": "YbzTpusGyJtF",
"type": "language-group",
"location": "metadata",
"propertyName": "language"
}
]
},
{
"systemdata": {
"projectId": 1,
"channelId": 1,
"documentId": 2,
"contentType": "article",
"documentType": "article",
"publicationId": 5,
"firstPublicationDate": "2022-03-16T14:08:11:000Z",
"significantPublicationDate": "2022-10-26T07:25:00.000Z",
"visiblePublicationDate": "2022-10-27T06:00:00.000Z",
"lastPublicationDate": "2022-10-30T16:32:04.170Z",
"design": {
"name": "timeline",
"version": "1.1.0"
}
},
"metadata": {
"title": "another title",
"description": "some other lead",
"dependencies": {}
},
"content": [
{
"id": "doc-1b8i1ksh10",
"component": "head",
"identifier": "timeline.head",
"content": {
"title": "a title",
"text": "some lead"
}
},
{
"id": "doc-1b8i1ksh20",
"component": "normal",
"identifier": "timeline.normal",
"content": {
"caption": "my caption"
},
"styles": {
"position": "left"
}
},
{
"id": "doc-1b8i1ksh30",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "first paragraph"
}
},
{
"id": "doc-1b8i1me1d0",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "second paragraph"
}
}
],
"references": [
{
"id": "YbzTpusGyJtF",
"type": "language-group",
"location": "metadata",
"propertyName": "language"
}
]
}
]
```
## Get Latest Publications
> [!NOTE]
> This endpoint has changes in version 2026-01.
>
**Required scope:** `public-api:read`
The endpoint provides an unresolved Publication with 3 possible top-level properties:
- systemdata
- metadata
- content
**Use Cases**
- Bulk export of data, e.g. a specific `Content Type`
**History**
| Version | Change |
| ------- | ------ |
| release-2024-03 | Added `ignoreComponentConditions` and `componentConditions` query parameters. |
| release-2021-06 | Added `reverse`, `contentTypes`, `id.gte` (and other range filters), `publishedAt.gte` (and other range filters). |
**Curl Example**
```bash
ACCESS_TOKEN=ey1234
curl -k -X GET "https://server.livingdocs.io/api/v1/documents/latestPublications" \
-H "Authorization: Bearer $ACCESS_TOKEN"
```
**Endpoint**
```http
GET /api/v1/documents/latestPublications
```
**Parameters**
| Name | Type | Required | Notes |
| ---- | ---- | :------: | ----- |
| ?fields | string | | Filters which (comma separated) properties are included in the response. Defaults to `systemdata,metadata,content` |
| ?reverse | boolean | | Order publications in ascending order instead of the default descending order (the property used for sorting is `lastPublicationDate`). This is useful if you want to paginate using a time based filter |
| ?homepage | boolean | | Return only the document labeled as homepage in the current project |
| ?contentTypes | string | | Comma separated list of content types to use as filter |
| ?documentTypes | string | | Comma separated list of document types to use as filter.
Can be one of `article`, `page`, `data-record` |
| ?id.gte | string | | Filter by document id range.
Supported filters: `id.gte`, `id.gt`, `id.lte`, `id.lt`.
The id range filter is useful if you want to export a lot of documents.
You can do many requests in parallel against the api, where you filter by the specific ranges.
This query is much more flexible than an offset-based filter and works with millions of documents.
Request 1: `?id.gt=0&id.lte=100`
Request 2: `?id.gt=100&id.lte=200`
Request 3: `?id.gt=200&id.lte=300` |
| ?id | string | | Filter by one or multiple document ids.
**Example 1**: `?id=12`
**Example 2**: `?id=100,120,123` |
| ?publishedAt.gte | string | | Filter by publish date range.
Supported filters: `publishedAt.gte`, `publishedAt.gt`, `publishedAt.lte`, `publishedAt.lt` (the filtered property is `lastPublicationDate`).
Example: To retrieve all publications since a specific timestamp, use `?reverse&publishedAt.gte=2021-05-01T00:00:00.000Z`" |
| ?ignoreComponentConditions | boolean | | Added in: [`release-2024-03`](/operations/releases/release-2024-03/)
Provides a way to opt out of component filtering and return all content regardless of whether each component passes the conditional checks.
Default: `false` |
| ?componentConditions | string | | Added in: [`release-2024-03`](/operations/releases/release-2024-03/)
JSON stringified object which contains the component conditions you would like to apply.
Default: `{"dateTime": new Date()}`
Example: `?componentConditions={"dateTime":"2024-02-14T17:25:10.391Z"}` |
| ?limit | integer | | A limit for how much published documents to retrieve. Defaults to 100. Max. 100 |
| ?offset | integer | | An offset into the query. Useful when getting more than 100 results (pagination). Max. 10000. Prefer range based filters like id.get or publishedAt.gte |
**Response**
_200 OK_
```json
[
{
"systemdata": {
"projectId": 1,
"channelId": 1,
"documentId": 1,
"contentType": "article",
"documentType": "article",
"publicationId": 1,
"firstPublicationDate": "2022-03-16T14:08:11:000Z",
"significantPublicationDate": "2022-10-26T07:25:00.000Z",
"visiblePublicationDate": "2022-10-27T06:00:00.000Z",
"lastPublicationDate": "2022-10-30T16:32:04.170Z",
"design": {
"name": "timeline",
"version": "1.1.0"
}
},
"metadata": {
"title": "a title",
"description": "some lead",
"dependencies": {}
},
"content": [
{
"id": "doc-1b8i1ksh10",
"component": "head",
"identifier": "timeline.head",
"content": {
"title": "a title",
"text": "some lead"
}
},
{
"id": "doc-1b8i1ksh20",
"component": "normal",
"identifier": "timeline.normal",
"content": {
"caption": "my caption"
},
"styles": {
"position": "left"
}
},
{
"id": "doc-1b8i1ksh30",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "first paragraph"
}
},
{
"id": "doc-1b8i1me1d0",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "second paragraph"
}
}
]
},
{
"systemdata": {
"projectId": 1,
"channelId": 1,
"documentId": 2,
"contentType": "article",
"documentType": "article",
"publicationId": 5,
"firstPublicationDate": "2022-03-16T14:08:11:000Z",
"significantPublicationDate": "2022-10-26T07:25:00.000Z",
"visiblePublicationDate": "2022-10-27T06:00:00.000Z",
"lastPublicationDate": "2022-10-30T16:32:04.170Z",
"design": {
"name": "timeline",
"version": "1.1.0"
}
},
"metadata": {
"title": "another title",
"description": "some other lead",
"dependencies": {}
},
"content": [
{
"id": "doc-1b8i1ksh10",
"component": "head",
"identifier": "timeline.head",
"content": {
"title": "a title",
"text": "some lead"
}
},
{
"id": "doc-1b8i1ksh20",
"component": "normal",
"identifier": "timeline.normal",
"content": {
"caption": "my caption"
},
"styles": {
"position": "left"
}
},
{
"id": "doc-1b8i1ksh30",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "first paragraph"
}
},
{
"id": "doc-1b8i1me1d0",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "second paragraph"
}
}
]
}
]
```