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

# Get todo

> Fetches one todo by short ID, including recent occurrences. A UUID is also accepted.



## OpenAPI

````yaml /api-reference/api.json get /v1/todos/{shortId}
openapi: 3.0.0
info:
  title: QA.tech API
  version: 1.0.0
  contact:
    name: QA.tech
    url: https://qa.tech
    email: support@qa.tech
  description: API for triggering and managing AI-powered test runs
servers:
  - url: https://api.qa.tech
    description: Production
    variables: {}
security:
  - BearerAuth: []
tags:
  - name: Runs
  - name: Infrastructure
  - name: Test Cases
  - name: Application Builds
  - name: Status badge
  - name: Remote Tunnels
  - name: Chat
  - name: Applications
  - name: Features
  - name: Metrics
  - name: Projects
  - name: Knowledge
  - name: Rules
  - name: Issues
  - name: Todos
  - name: Automations
paths:
  /v1/todos/{shortId}:
    get:
      tags:
        - Todos
      summary: Get todo
      description: >-
        Fetches one todo by short ID, including recent occurrences. A UUID is
        also accepted.
      operationId: GetTodo
      parameters:
        - name: shortId
          in: path
          required: true
          schema:
            type: string
        - name: query
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/GetTodoQuery'
          explode: false
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTodoResponse'
components:
  schemas:
    GetTodoQuery:
      type: object
      properties:
        projectShortId:
          allOf:
            - $ref: '#/components/schemas/ProjectShortId'
          description: >-
            Target a specific project by its prefixed short ID
            (proj-slug_shortId or proj_shortId), as returned by the projects
            API. Required for organization-scoped API keys; project-scoped keys
            may only pass their own project's short ID.
    GetTodoResponse:
      type: object
      required:
        - todo
      properties:
        todo:
          $ref: '#/components/schemas/TodoDetail'
    ProjectShortId:
      type: string
      pattern: ^proj(-.+_.+|_.+)$
    TodoDetail:
      type: object
      required:
        - shortId
        - title
        - description
        - kind
        - status
        - priority
        - recommendedPath
        - fixPrompt
        - occurrenceCount
        - lastOccurredAt
        - applicationShortId
        - configShortId
        - relatedTestCaseIds
        - assigneeId
        - rejectedReason
        - url
        - createdAt
        - updatedAt
        - occurrences
      properties:
        shortId:
          type: string
          description: >-
            Stable short ID. Pass to get or update, or open `url` in the
            dashboard.
        title:
          type: string
        description:
          type: string
          nullable: true
        kind:
          $ref: '#/components/schemas/TodoKind'
        status:
          $ref: '#/components/schemas/TodoStatus'
        priority:
          $ref: '#/components/schemas/TodoPriority'
        recommendedPath:
          allOf:
            - $ref: '#/components/schemas/TodoRecommendedPath'
          nullable: true
          description: '`manual`, `qa_tech_chat`, or `code_agent`. Null when unset.'
        fixPrompt:
          type: string
          nullable: true
          description: >-
            Customer-facing next step, and the request sent to QA.tech chat or
            copied to a code agent.
        occurrenceCount:
          type: integer
          format: int32
          description: >-
            Occurrences that count toward the inbox. Rows still awaiting a
            pull-request merge are excluded.
        lastOccurredAt:
          type: string
          description: When this need was most recently recorded.
        applicationShortId:
          type: string
          allOf:
            - $ref: '#/components/schemas/ApplicationShortId'
          nullable: true
          description: Application this todo is for, when it is scoped to one.
        configShortId:
          type: string
          allOf:
            - $ref: '#/components/schemas/ConfigShortId'
          nullable: true
          description: Config that needs to be created or improved, when one is known.
        relatedTestCaseIds:
          type: array
          items:
            type: string
          description: Project test case UUIDs blocked by this todo.
        assigneeId:
          type: string
          nullable: true
          description: Organization member assigned to the todo, or null.
        rejectedReason:
          type: string
          nullable: true
          description: >-
            Why a rejected todo should not be filed again. Null unless status is
            `rejected`.
        url:
          type: string
          description: Deep link to the todo in the QA.tech dashboard.
        createdAt:
          type: string
        updatedAt:
          type: string
        occurrences:
          type: array
          items:
            $ref: '#/components/schemas/TodoOccurrence'
          description: Recent occurrences, newest first.
    TodoKind:
      type: string
      enum:
        - credentials
        - integration
        - test_user
        - environment
        - ownership
        - device_preset
        - start_url
        - other
      description: Category of follow-up work a todo represents.
    TodoStatus:
      type: string
      enum:
        - open
        - resolved
        - rejected
      description: >-
        Lifecycle of a todo. Rejected todos are kept so they are not filed
        again.
    TodoPriority:
      type: string
      enum:
        - low
        - medium
        - high
        - urgent
    TodoRecommendedPath:
      type: string
      enum:
        - manual
        - qa_tech_chat
        - code_agent
      description: Best single way to finish the todo.
    ApplicationShortId:
      type: string
      pattern: ^app(-.+_.+|_.+)$
    ConfigShortId:
      type: string
      pattern: ^cfg(-.+_.+|_.+)$
    TodoOccurrence:
      type: object
      required:
        - summary
        - source
        - createdAt
      properties:
        summary:
          type: string
          description: Why the need appeared this time.
        source:
          type: string
          description: Where it was recorded, for example `user`, `chat`, or `pr_review`.
        createdAt:
          type: string
      description: One time this need was recorded.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: Bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.