--- 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" } } ] } ] ```