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

# Get a single task

> Returns a single task with its children.



## OpenAPI

````yaml /openapi.yaml get /v1/canvas/{canvas_id}/tasks/{task_id}
openapi: 3.1.0
info:
  title: Spine API
  version: 1.0.0
  summary: The highest-quality research API — multi-agent canvas orchestration.
  description: |
    The Spine API delivers the highest-quality research available, ranked #1 on
    GAIA Level 3. Submit a prompt (with optional files, a template, or an
    explicit block configuration) to kick off an async multi-agent canvas run,
    and poll for the generated artifacts, DAG, and task tree.

    All endpoints are authenticated via the `X-API-KEY` header. Create a key
    from the [Spine developer portal](https://platform.getspine.ai).
  contact:
    name: Spine support
    email: support@getspine.ai
    url: https://platform.getspine.ai
servers:
  - url: https://api.getspine.ai
    description: Production
security:
  - apiKey: []
tags:
  - name: Runs
    description: Create and poll canvas runs.
  - name: Canvas
    description: Inspect the generated canvas DAG and task tree.
paths:
  /v1/canvas/{canvas_id}/tasks/{task_id}:
    get:
      tags:
        - Canvas
      summary: Get a single task
      description: Returns a single task with its children.
      operationId: getTask
      parameters:
        - $ref: '#/components/parameters/CanvasId'
        - $ref: '#/components/parameters/TaskId'
      responses:
        '200':
          description: Task detail.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTaskResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-codeSamples:
        - lang: curl
          label: curl
          source: |
            curl https://api.getspine.ai/v1/canvas/<canvas_id>/tasks/<task_id> \
              -H "X-API-KEY: sk_spine_..."
components:
  parameters:
    CanvasId:
      name: canvas_id
      in: path
      required: true
      description: Canvas identifier, returned on a completed run.
      schema:
        type: string
        format: uuid
    TaskId:
      name: task_id
      in: path
      required: true
      description: Task identifier from the task tree.
      schema:
        type: string
        format: uuid
  schemas:
    GetTaskResponse:
      type: object
      required:
        - success
        - data
      properties:
        success:
          type: boolean
          const: true
        data:
          $ref: '#/components/schemas/Task'
    Task:
      type: object
      required:
        - task_id
        - name
        - task_type
        - status
      properties:
        task_id:
          type: string
          format: uuid
        name:
          type: string
        task_type:
          $ref: '#/components/schemas/TaskType'
        status:
          type: string
          example: completed
        children:
          type: array
          items:
            $ref: '#/components/schemas/Task'
    Error:
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          const: false
        error:
          type: string
          description: Human-readable error message.
    TaskType:
      type: string
      enum:
        - parent-task
        - persona-task
        - tool-call-task
  responses:
    Unauthorized:
      description: Missing, invalid, or revoked API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            missingKey:
              value:
                success: false
                error: X-API-KEY header required
    NotFound:
      description: Resource does not exist or belongs to another account.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            runNotFound:
              value:
                success: false
                error: 'Run not found: 550e8400-e29b-41d4-a716-446655440000'
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-KEY
      description: |
        An API key from the Spine developer portal. Keys are prefixed with
        `sk_spine_` and shown only once at creation. Keep them server-side.

````