---
title: "Read a published collection without an account."
method: GET
path: "/api/public-collections/{collection_id}"
---

# Read a published collection without an account.

`GET /api/public-collections/{collection_id}`

## Request

- Base URL: `https://okfindex.com`
- URL: `https://okfindex.com/api/public-collections/{collection_id}`
- Auth: none declared

Collections store references, not copied content. They start private. Owner search reads current files in owned bases and published files in other bases. Publication includes only references to currently public bases; private bases and later additions stay out. Every public read checks base publication again. Private or withdrawn collections return 404. Responses use private, no-store.
Returns: { collection{id,name,visibility,created_at,api,public_url}, items[{base,own,published}], next, limits }

## Path parameters

- `collection_id` string, required

## Response `200`

{ collection{id,name,visibility,created_at,api,public_url}, items[{base,own,published}], next, limits }

- object
  - `collection` KnowledgeCollection, required
    - `id` string, required: The 64-character ID returned by this API.
    - `name` string, required: The owner-selected collection name.
    - `visibility` string, required: private or public; new collections start private.
    - `created_at` string, required: UTC creation timestamp.
    - `api` string, required: Authorized API URL for this view.
    - `public_url` string, nullable, required: Public collection page, or null before publication.
  - `items` CollectionReference[], required: Currently accessible base references. Content stays in its original base.
    - `base` Base, required
      - `id` string, required: The 64-character ID returned by the API.
      - `name` string, required: Base name.
      - `visibility` string, required: private or public; only explicit publication makes a base public.
      - `dataset` Dataset, required
        - `description` string, required: Dataset description, 1–2000 characters.
        - `fields` DatasetField[], required: 1–30 fields, each with a name and description.
          - `name` string, required: Field name, 1–80 characters.
          - `description` string, required: Meaning, 1–200 characters.
        - `coverage` string, required: Geographic, temporal or subject coverage, 1–300 characters.
        - `format` string, required: Source format, for example CSV or JSON, 1–40 characters.
        - `update_frequency` string, required: Declared update schedule, 1–200 characters. No automatic check is performed.
        - `license` string, required: Declared license or access terms, 1–300 characters. Not independently verified.
        - `source_url` string, required: HTTPS origin URL, at most 1000 characters, without credentials.
      - `created_at` string, required: Creation date, ISO 8601.
      - `updated_at` string, required: Last change, ISO 8601.
      - `documents` integer, nullable, required: Document count when returned by the base list; null otherwise.
      - `bytes` integer, nullable, required: Current original bytes in the owner's base list; null in other private responses. Omitted from public responses.
      - `api` string, required: Metadata URL.
      - `export_url` string, required: ZIP download URL.
      - `okf_url` string, required: OKF root index URL.
      - `public_url` string, nullable, required: Public page URL while published; null when private.
      - `embed_url` string, nullable, required: Public search iframe URL while published; null when private. Uses the same public API and limits. No account controls inside the iframe.
      - `publication` BasePublication, required
        - `author` string, required: Author or attribution declared by the publisher.
        - `source_url` string, nullable, required: Declared HTTPS source, or null for uploaded files.
        - `terms` string, required: Terms declared by the publisher. This is not an independent license verification.
        - `published_at` string, required: Date of the last explicit publication, ISO 8601.
    - `own` boolean, required: Whether this account owns the base; always false in a public view.
    - `published` boolean, required: Whether the reference was included in publication and the base remains public.
  - `next` string, nullable, required: Next page URL, or null when the bounded result is complete.
  - `limits` object, required: Initial limits: 10 collections per account, 20 base references per collection, 20 search results per page.

## Other responses

- `400`: Invalid name, cursor, query or idempotency key.
- `401`: A personal account or API key is required.
- `403`: Organization credentials cannot access personal collections.
- `404`: The collection or base is inaccessible.
- `409`: Collection or reference limit reached.
- `413`: Request body exceeds 2 KiB.
- `415`: Use application/json.
- `503`: Collection storage is unavailable.

---

[API](https://skmtc.dev/okfindex/apis/okf-index.md) · [All operations](https://skmtc.dev/okfindex/apis/okf-index/llms.txt) · [OpenAPI document](https://skmtc.dev/okfindex/apis/okf-index/revisions/4b13ca3c739f?raw)
