Skip to content
GitmoapAPIBeta
Schema

SpecDocDetail

A spec document, its outline and its findings. Its text is fetched separately.

Shape

  • blocksarray of SpecBlock
    • The SpecBlock schema
    • anchorstring
    • end_lineinteger · int32
    • headingstring
    • kindstring
    • levelinteger · int32
    • namestring
    • ordinalinteger · int32
    • start_lineinteger · int32
    • heading_numberstring or nulloptional
    • markerstring or nulloptional
    • parent_ordinalinteger · int32 or nulloptionalThe enclosing block's ordinal, not its id — the tree is addressed the way it is read.
    • summarystring or nulloptional
  • docSpecDocSummary
    • The SpecDocSummary schema
    • block_countinteger · int32
    • byte_leninteger · int32
    • corpus_idCorpusId (string · uuid)
    • doc_idstring
    • finding_countinteger · int32
    • last_seen_shastring
    • pathstring
    • postureSpecPosturedeclareduntypedWhether a document claims to follow the spec format. A declared document carries gsf: 1 in its frontmatter and is checked in full; an untyped one made no claim and is never reported for not following it.
    • profilestring
    • record_countinteger · int32
    • staleboolean
    • stemstring
    • synced_atstring
    • titlestring
    • createdstring or nulloptional
    • depends_onarray of stringoptional
    • gsf_versioninteger · int32 or nulloptional
    • kindstring or nulloptional
    • last_reviewedstring or nulloptionalISO YYYY-MM-DD, verbatim from the frontmatter.
    • orphaned_atstring or nulloptionalWhen the file stopped being present in the repository. The record is kept rather than deleted, so an existing link still resolves and tells you it moved.
    • owner_group_idGroupId (string · uuid) or nulloptional
    • owner_principal_idPrincipalId (string · uuid) or nulloptional
    • parent_doc_idstring or nulloptional
    • part_of_doc_idstring or nulloptional
    • statusSpecStatusdraftreviewapprovedimplementedpartialsupersededlivingnoneor nulloptionalA document's declared lifecycle state. none is a real value rather than an absence: a document that declares status: none has said the question does not apply to it, which is a different fact from one that declared nothing.
    • status_notestring or nulloptional
    • summarystring or nulloptional
    • superseded_bystring or nulloptional
    • tagsarray of stringoptional
  • findingsarray of SpecFinding
    • The SpecFinding schema
    • codestring
    • doc_idstring
    • messagestring
    • severitySpecSeverityerrorwarninginfoHow serious a finding is.
    • lineinteger · int32 or nulloptional

Example

Synthesized example
{
"blocks": [
{
"anchor": "anchor-d2c1",
"end_line": 57,
"heading": "heading-43ed",
"kind": "kind-7513",
"level": 33,
"name": "payments-api",
"ordinal": 29,
"start_line": 30
},
{
"anchor": "anchor-7443",
"end_line": 41,
"heading": "heading-99ce",
"kind": "kind-3cf4",
"level": 18,
"name": "payments-api",
"ordinal": 53,
"start_line": 67
}
],
"doc": {
"block_count": 6,
"byte_len": 60,
"corpus_id": "64a0ce02-3565-43f9-a46b-1b4a24e50dee",
"doc_id": "1e2fbe5f-3f7a-462c-ba08-99fff632d445",
"finding_count": 3,
"last_seen_sha": "40d24a94c7194aa2a064f04fd61e04a424010182",
"path": "path-7e84",
"posture": "declared",
"profile": "profile-d1bb",
"record_count": 7,
"stale": false,
"stem": "stem-4d63",
"synced_at": "2026-10-14T22:45:12Z",
"title": "Pin a page's payload to the build that rendered it",
"created": "created-6a86",
"depends_on": [
"depends-on-cac1",
"depends-on-90c1"
],
"gsf_version": 77,
"kind": "kind-73f5",
"last_reviewed": "last-reviewed-e5f6",
"orphaned_at": "2026-10-13T18:54:13Z",
"owner_group_id": "4c1d8e2f-6a3b-4f90-b7c5-1e2d3c4b5a69",
"owner_principal_id": "2a7de25d-a410-49fa-b1b2-bf68c08e5776",
"parent_doc_id": "7df88067-520d-4929-b6ff-84c60447760f",
"part_of_doc_id": "39d5848d-4063-4650-8b39-23f91485fae1",
"status": "draft",
"status_note": "status-note-eca4",
"summary": "summary-248f",
"superseded_by": "b7e2d1c0-9f8e-4d7c-a6b5-c4d3e2f1a0b9",
"tags": [
"tags-55ca"
]
},
"findings": [
{
"code": "code-644d",
"doc_id": "31dee81c-b87f-4ca8-988f-7a23e60ebf1e",
"message": "Label every synthesized example",
"severity": "error"
},
{
"code": "code-57cb",
"doc_id": "c31f3694-5671-43a6-8899-628abddf14e0",
"message": "Inline scalar newtypes but keep their brand",
"severity": "error"
}
]
}

Graph

Used inside

No schema contains this one.

Used by

Sent by 0 operations

No operation takes it as a request body.