> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acedata.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Get the AceDataCloud Platform Document List

> Platform integration guide - Ace Data Cloud

Returns developer documents visible on the current site in pages, which can be used for search, indexing, or building navigation on the client side. The list currently includes the `content` and nested parent information for each document, and the response may be large.

## API Overview

| Item | Content |
| - | - |
| Method | `GET` |
| URL | `https://platform.acedata.cloud/api/v1/documents/` |
| Authentication | Public; non-administrators cannot see private documents |
| Pagination | `count` + `items` |

## Query Parameters

| Parameter | Type | Required | Default | Description |
| - | - | - | - | - |
| `id` | UUID | No | — | Filter by document ID; supports repeated parameters |
| `private` | boolean | No | — | Filter by private status; non-administrators still cannot see private documents |
| `type` | string | No | — | Filter exactly by the actual `type` value of the Document |
| `tag` | string | No | — | Filter by tag |
| `limit` | integer | No | 10 | Number of items per page, maximum 100 |
| `offset` | integer | No | 0 | Pagination offset |
| `ordering` | string | No | `rank` | Only sorting by `rank` is supported; the `-` prefix indicates descending order |

The current list API does not support filtering by `alias` or `parent_id`. When the alias is known, directly call [Document Details](https://platform.acedata.cloud/documents/platform-document-detail); when building tree navigation, fetch all pages at once and group them on the client side using each item's `parent.id`.

## Request Examples

```shell theme={null}
curl --get 'https://platform.acedata.cloud/api/v1/documents/' \
  --data-urlencode 'tag=development' \
  --data-urlencode 'limit=100' \
  --data-urlencode 'ordering=rank' \
  -H 'Accept: application/json'
```

```python theme={null}
import requests

response = requests.get(
    "https://platform.acedata.cloud/api/v1/documents/",
    params={"tag": "development", "limit": 100, "offset": 0},
    timeout=30,
)
response.raise_for_status()
data = response.json()
for document in data["items"]:
    parent = document.get("parent") or {}
    print(document["alias"], parent.get("alias"))
```

## Response Structure

```json theme={null}
{
  "count": 1,
  "items": [
    {
      "id": "00000000-0000-4000-8000-000000000001",
      "alias": "platform-token",
      "name": "Document of Platform Token",
      "title": "Manage AceDataCloud Platform Account Tokens (Account Token)",
      "content": "# Manage AceDataCloud Platform Account Tokens……",
      "type": "Text",
      "private": false,
      "primary_only": false,
      "rank": 2400,
      "tags": [
        "development"
      ],
      "parent": {
        "id": "00000000-0000-4000-8000-000000000002",
        "alias": "platform",
        "title": "AceDataCloud Platform"
      },
      "sibling": null,
      "api_id": null,
      "proxy_id": null,
      "api_method": null,
      "metadata": null,
      "created_at": "2026-01-01T00:00:00Z",
      "updated_at": "2026-01-01T00:00:00Z"
    }
  ]
}
```

The list uses `DocumentIndexSerializer` and currently returns model fields and nested relationships; related API documents may also include `api_method`. Fields may be added in a backward-compatible manner, and clients should read them as needed. When `children`, parsed content language, and content hash are required, use the details API.

For public records associated with source documents, `content_source` provides the source document identifier, source content hash, requested language, translation update time, and the `ready`, `stale`, `missing`, `missing_source`, or `ambiguous` status; this field is `null` for other records. The `content_hash` when `ready` corresponds to the translation in that language. The body is still displayed according to the original rules, including language fallback when a translation is missing; clients that need to synchronize documents should check both the status and hash, and must not determine whether an update has been completed based only on whether the body is non-empty.

## Usage Recommendations

* The response includes document bodies. When synchronizing in batches, use pagination and set a reasonable timeout; do not fetch the same page concurrently.
* The alias is the stable identifier of the public page URL; when the alias is known, directly request `/api/v1/documents/{alias}`.
* The current API cannot filter by parent on the server side; when building navigation, group by `parent.id` on the client side.

## Related APIs

* [Get AceDataCloud Platform Document Details](https://platform.acedata.cloud/documents/platform-document-detail)
* [Get AceDataCloud Platform API Details](https://platform.acedata.cloud/documents/platform-api-detail)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.