Skip to main content
GET
/
api
/
v1
/
specs
/
{spec_id}
Get Spec
curl --request GET \
  --url https://api.example.com/api/v1/specs/{spec_id} \
  --header 'Authorization: Bearer <token>'
{
  "acceptance_criteria": [
    "<string>"
  ],
  "assignee_id": "<string>",
  "board_id": "<string>",
  "context": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "created_by": "<string>",
  "description": "<string>",
  "functional_requirements": [
    "<string>"
  ],
  "id": "<string>",
  "labels": [
    "<string>"
  ],
  "status": "draft",
  "technical_requirements": [
    "<string>"
  ],
  "title": "<string>",
  "updated_at": "2023-11-07T05:31:56Z",
  "version": 123,
  "api_contracts": [
    {
      "id": "<string>",
      "method": "<string>",
      "path": "<string>",
      "description": "",
      "linked_requirements": [
        "<string>"
      ],
      "linked_rules": [
        "<string>"
      ],
      "linked_task_ids": [
        "<string>"
      ],
      "notes": "<string>",
      "request_body": {},
      "response_errors": [
        {}
      ],
      "response_success": {}
    }
  ],
  "architecture_designs": [],
  "archived": false,
  "business_rules": [
    {
      "id": "<string>",
      "rule": "<string>",
      "then": "<string>",
      "title": "<string>",
      "when": "<string>",
      "linked_requirements": [
        "<string>"
      ],
      "linked_task_ids": [
        "<string>"
      ],
      "notes": "<string>"
    }
  ],
  "cards": [],
  "decisions": [
    {
      "id": "<string>",
      "rationale": "<string>",
      "title": "<string>",
      "alternatives_considered": [
        "<string>"
      ],
      "context": "<string>",
      "linked_requirements": [
        "<string>"
      ],
      "linked_task_ids": [
        "<string>"
      ],
      "notes": "<string>",
      "status": "active",
      "supersedes_decision_id": "<string>"
    }
  ],
  "ideation_id": "<string>",
  "knowledge_bases": [],
  "pre_archive_status": "<string>",
  "qa_items": [],
  "refinement_id": "<string>",
  "screen_mockups": [
    {
      "id": "<string>",
      "title": "<string>",
      "annotations": [
        {
          "id": "<string>",
          "text": "<string>",
          "author_id": "<string>"
        }
      ],
      "description": "<string>",
      "html_content": "",
      "order": 0,
      "screen_type": "page"
    }
  ],
  "skip_contract_coverage": false,
  "skip_decisions_coverage": false,
  "skip_rules_coverage": false,
  "skip_test_coverage": false,
  "skip_trs_coverage": false,
  "test_scenarios": [
    {
      "id": "<string>",
      "title": "<string>",
      "given": "",
      "linked_criteria": [
        "<string>"
      ],
      "linked_task_ids": [
        "<string>"
      ],
      "notes": "<string>",
      "scenario_type": "integration",
      "status": "draft",
      "then": "",
      "when": ""
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.oktolabs.ai/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

spec_id
string
required

Response

Successful Response

Schema for full spec response.

acceptance_criteria
string[] | null
required
assignee_id
string | null
required
board_id
string
required
context
string | null
required
created_at
string<date-time>
required
created_by
string
required
description
string | null
required
functional_requirements
string[] | null
required
id
string
required
labels
string[] | null
required
status
enum<string>
required

Spec lifecycle status.

Available options:
draft,
review,
approved,
validated,
in_progress,
done,
cancelled
technical_requirements
(string | object)[] | null
required
title
string
required
updated_at
string<date-time>
required
version
integer
required
api_contracts
ApiContract · object[] | null
architecture_designs
ArchitectureDesignSummary · object[]
archived
boolean
default:false
business_rules
BusinessRule · object[] | null
cards
CardSummaryForSpec · object[]
decisions
Decision · object[] | null
ideation_id
string | null
knowledge_bases
SpecKnowledgeSummary · object[]
pre_archive_status
string | null
qa_items
SpecQAResponse · object[]
refinement_id
string | null
screen_mockups
ScreenMockup · object[] | null
skip_contract_coverage
boolean
default:false
skip_decisions_coverage
boolean
default:false
skip_rules_coverage
boolean
default:false
skip_test_coverage
boolean
default:false
skip_trs_coverage
boolean
default:false
test_scenarios
TestScenario · object[] | null
Last modified on May 8, 2026