---
title: "Get a single capsule by id"
method: GET
path: "/api/preview/capsules/{id}"
tags: ["capsule"]
---

# Get a single capsule by id

`GET /api/preview/capsules/{id}`

## Path parameters

- `id` string, required — UUID v4 string

## Response `200`

Successful response

- object
  - `alias_dropped` boolean
  - `alsoAvailableAsSkill` string
  - `archive_event_id` string, nullable
  - `archive_reason` string, nullable
  - `archived_at` string, nullable
  - `attachments` object[]
  - `capsule_keys` object[]
  - `categories` object[]
    - `name` string, required
    - `slug` string, required
  - `code_excerpt` string, nullable
  - `content` object
    - `bindings` object
    - `fields` object
    - `format` 'markdown' | 'composed' | 'structured' | 'log', required
    - `source` string
    - `summary` string, nullable
    - `text` string
  - `content_excerpt` string, nullable
  - `content_md` string, nullable
  - `content_rendered` string, nullable
  - `cover` object, nullable
  - `created_at` string
  - `created_by` string
  - `deleted_at` string, nullable
  - `draftAttachmentsMap` object
  - `evicted_version_nums` integer[]
  - `field_values` object
  - `flag_reason` string, nullable
  - `flagged_at` string, nullable
  - `form_answered_at` string, nullable
  - `form_responses` object, nullable
  - `form_schema` object, nullable
    - `sections` object[], required
      - `optional` boolean — True for a bonus section: its questions never gate `form_answered_at` and are revealed via "Answer more".
      - `questions` object[], required
        - `field` object, required — The FieldDefinition validating this question's answer — its `name` keys the response in `form_responses`.
          - `columns` object[] — For a `table` field: the ordered column sub-schema. Each column is a scalar field (text/number/date/datetime/enum/boolean) with its own name, optional `required` flag, and applicable rules. Required (non-empty) iff type is `table`; invalid on any other type.
            - `enum_values` string[] — Closed value list — required (and non-empty) iff the column type is `enum`.
            - `name` string, required — Field identifier — also the `{{field_name}}` interpolation token.
            - `required` boolean — When true, every row must provide a value for this column.
            - `required_message` string — Custom error message returned when a required column cell is missing.
            - `rules` union[] — Type-appropriate validation rules for this column's scalar value.
              - …
            - `type` 'text' | 'number' | 'date' | 'datetime' | 'enum' | 'boolean', required — Scalar value type for this column.
          - `enum_values` string[] — Closed value list — required (and non-empty) iff type is `enum` or `multi_enum`.
          - `item_rules` union[] — For a `list` field: text rules applied to EVERY item (e.g. a single min/max length that governs all items). Only valid when type is `list`.
            - union
              - …
          - `name` string, required — Field identifier — also the `{{field_name}}` interpolation token.
          - `reference_type_slug` string — Optional Type slug constraining a `reference`/`multi_reference` field's target. Only valid on a `reference` or `multi_reference` field.
          - `required` boolean — When true, a capsule must provide a value for this field.
          - `required_message` string — Custom error message returned when a `required` field is missing. Applies only to the presence check; per-rule messages live on each rule.
          - `rules` union[] — Type-appropriate validation rules.
            - union
              - …
          - `type` 'text' | 'paragraph' | 'number' | 'datetime' | 'date' | 'boolean' | 'enum' | 'multi_enum' | 'reference' | 'multi_reference' | 'list' | 'table' | 'image', required — Field value type.
        - `prompt` string, required — The question shown to the human. Policy-capped at 20 words.
      - `title` string, required — Section (tab) label, e.g. "Absolutely needed".
    - `success_note` string — Optional celebration copy shown on submit; code-level default copy is the fallback. Policy-capped at 30 words.
    - `version` 1, required
  - `id` string, required — UUID v4 string
  - `inbound_ref_count` integer
  - `is_encrypted` boolean
  - `is_prompt` boolean
  - `is_stale` boolean
  - `language` string, nullable
  - `last_entry_at` string, nullable
  - `last_fetched_at` string, nullable
  - `log` object
    - `append_via` string, required
    - `bound_type` object, required
      - `id` string, required — UUID v4 string
      - `name` string, required
      - `slug` string, required
    - `owned_log_ref` string, nullable, required
    - `role` 'owner' | 'log', required
  - `log_entries` object[]
  - `log_entries_next_cursor` string, nullable
  - `log_entries_total` integer
  - `log_entry_order` string
  - `log_field_schema` object[]
  - `log_period_key` string, nullable
  - `log_period_next` string, nullable
  - `log_period_prev` string, nullable
  - `owned_log` object, nullable
  - `owner_capsule` object, nullable
  - `owner_capsule_id` string, nullable
  - `owner_log_binding` boolean
  - `owner_log_type` object, nullable
  - `project_color` string, nullable
  - `project_id` string, nullable
  - `project_name` string, nullable
  - `project_slug` string, nullable
  - `prompt_meta` object, nullable
  - `prompt_name` string, nullable
  - `ref_id` integer
  - `resolvedCrossRefs` object
  - `rollover` string, nullable
  - `skill_republish_needed` boolean
  - `slug` string, nullable
  - `summary` string, nullable
  - `summary_stale` boolean
  - `summary_updated_at` string, nullable
  - `tags` object[]
    - `name` string, required
    - `slug` string, required
  - `tags_dropped` boolean
  - `tags_truncated` boolean
  - `title` string
  - `token_bindings` object
  - `type_color` string, nullable
  - `type_content_md_max` integer, nullable
  - `type_guidance` string, nullable
  - `type_icon` string, nullable
  - `type_id` string — UUID v4 string
  - `type_log_entry_order` string, nullable
  - `type_log_target_type_id` string, nullable
  - `type_name` string
  - `type_rollover` string, nullable
  - `type_slug` string
  - `type_structure` string, nullable
  - `unreferenced` boolean
  - `updated_at` string
  - `version_skip_reason` string, nullable
  - `version_skipped` boolean
  - `warnings` string[]
  - `workspace_id` string, nullable

---

[API](https://skmtc.net/symbol/apis/symbol-api.md) · [All operations](https://skmtc.net/symbol/apis/symbol-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/symbol/symbol-api/revisions/c690ac22ae04/schema)
