---
title: "Session detail: summary + role-based runs + stage swimlane"
method: GET
path: "/missions/{issueId}"
tags: ["missions"]
---

# Session detail: summary + role-based runs + stage swimlane

`GET /missions/{issueId}`

## Request

- Base URL: `https://api.letsship.ai/v1`
- URL: `https://api.letsship.ai/v1/missions/{issueId}`
- Auth: none declared

## Path parameters

- `issueId` string, required

## Query parameters

- `orgSlug` string
- `projectId` string

## Response `200`

Detail

- MissionDetailResponse
  - `summary` MissionSummary, required
    - `issueId` string, required
    - `projectId` string, nullable, required
    - `orgSlug` string, nullable, required
    - `linearTitle` string, nullable, required
    - `linearUrl` string, nullable, required
    - `tracker` 'linear' | 'github-issues' | 'none', nullable
    - `prNumber` integer, nullable, required
    - `prUrl` string, nullable, required
    - `ciUrl` string, nullable, required
    - `repo` string, nullable, required
    - `baseBranch` string, nullable, required
    - `headBranch` string, nullable, required
    - `checkState` 'passed' | 'failed' | 'pending' | 'none', required
    - `reviewState` 'approved' | 'changes_requested' | 'pending' | 'none', required
    - `testState` 'passed' | 'failed' | 'pending' | 'none', required
    - `diffAdded` integer, nullable, required
    - `diffRemoved` integer, nullable, required
    - `pipelineProgress` 'no_pr' | 'ci_failed' | 'review_changes_requested' | 'qa_failed' | 'awaiting_review' | 'awaiting_deploy' | 'awaiting_qa' | 'running' | 'awaiting_ci' | 'ready_for_human' | 'merged' | 'declined' | 'failed', required
    - `activity` 'queued' | 'planning' | 'building' | 'fixing_ci' | 'addressing_review' | 'addressing_qa' | 'ci_running' | 'ci_failed' | 'reviewing' | 'changes_requested' | 'deploying' | 'testing' | 'qa_failed' | 'ready_to_merge' | 'auto_merging' | 'needs_attention' | 'merged' | 'auto_merged' | 'declined' | 'pausing' | 'paused' | 'stopped', required
    - `statusLabel` string, required
    - `currentStage` 'pending' | 'supervisor' | 'planning' | 'coding' | 'ci' | 'review' | 'deploying' | 'qa' | 'done' | 'declined' | 'needs_attention', required
    - `cycleTimeMs` integer, nullable, required
    - `cycleTimeRunning` boolean, required
    - `paused` boolean, required
    - `pauseSource` string, nullable, required
    - `stopped` boolean, required
    - `stopping` boolean, required
    - `terminal` boolean, required
    - `escalation` 'error' | 'handled'
    - `prActionPending` 'merge' | 'decline', nullable, required
    - `mergeConflict` boolean, required
    - `pendingMerge` object, nullable, required
      - `reason` 'updating_branch', required
      - `baseBranch` string, required
      - `requestedAt` string, required
    - `autoMerge` boolean, required
    - `archived` boolean, required
    - `entryStage` 'builder' | 'reviewer' | 'qa', nullable, required
    - `totalCostUsd` number, nullable, required
    - `costIncomplete` boolean, required
    - `billing` MissionBilling, required
      - `creditsUsed` integer, required
      - `ceiling` integer, required
      - `mode` 'enforce' | 'shadow' | 'off', required
      - `hold` 'user' | 'checkpoint' | 'capacity' | 'usage_limit' | 'backoff' | 'credits' | 'ceiling', required
    - `updatedAt` integer, required
    - `laneEnteredAt` integer, nullable, required
    - `platformVersion` string, nullable
    - `environment` string, nullable
    - `straddled` boolean, nullable
    - `disposition` 'product' | 'probe' | 'superseded' | 'takeover', nullable
    - `supersededBy` string, nullable
    - `dispositionSignal` string, nullable
  - `runs` MissionRun[], required
    - `sandboxId` string, required
    - `role` string, required
    - `label` string, required
    - `status` 'running' | 'stale' | 'completed' | 'stopped' | 'failed', required: How the agent's run in this sandbox stands. `running`: the agent works now. `completed`: the agent finished its work. `stopped`: something ended the run on purpose before it finished, for example a newer run, a stop of the mission or a person. `failed`: the agent reported a failure, or exited without a report. `stale`: the platform closed the run without a report, after its time limit or after a later attempt replaced it.
    - `harness` string, nullable, required
    - `model` string, nullable, required
    - `provider` string, nullable, required
    - `servedProvider` string, nullable, required
    - `effort` string, nullable, required
    - `outcome` string, nullable, required
    - `createdAt` integer, required
    - `endedAt` integer, nullable, required: When the run ended, in epoch milliseconds. Null until the run ends.
    - `latestSessionId` string, nullable, required
    - `tokenUsage` object, nullable, required
      - `totalCostUsd` number, nullable, required
      - `inputTokens` integer, nullable, required
      - `outputTokens` integer, nullable, required
    - `isCurrent` boolean, required
    - `result` MissionRunResult, nullable, required
      - `scope` 'run' | 'mission', required
      - `plan` MissionPlanOutcome, nullable, required
        - `markdown` string, required
        - `acceptanceCriteria` string[], required
        - `filePlan` object[], required
          - `path` string, required
          - `action` 'create' | 'modify' | 'delete', required
          - `description` string, required
      - `build` MissionBuildOutcome, nullable, required
        - `prNumber` integer, nullable, required
        - `prUrl` string, nullable, required
        - `headSha` string, nullable
        - `commitUrl` string, nullable
        - `diffAdded` integer, nullable, required
        - `diffRemoved` integer, nullable, required
        - `changedFiles` integer, nullable, required
        - `files` object[], required
          - `path` string, required
          - `additions` integer, required
          - `deletions` integer, required
          - `status` string, required
      - `review` MissionReviewOutcome, nullable, required
        - `approved` boolean, required
        - `comments` object[], required
          - `file` string, required
          - `line` integer, nullable, required
          - `severity` 'critical' | 'suggestion' | 'trivial', required
          - `comment` string, required
      - `qa` MissionQaOutcome, nullable, required
        - `overall` 'pass' | 'fail', required
        - `criteria` object[], required
          - `name` string, required
          - `pass` boolean, required
          - `evidence` string, required
        - `proofSkipped` boolean, required
      - `failure` string, nullable, required
    - `platformVersion` string, nullable
  - `stages` MissionStageCell[], required
    - `stage` 'pending' | 'supervisor' | 'planning' | 'coding' | 'ci' | 'review' | 'deploying' | 'qa' | 'done' | 'declined' | 'needs_attention', required
    - `state` 'done' | 'active' | 'pending' | 'failed', required
    - `role` string, nullable, required
    - `sandboxId` string, nullable, required
  - `events` MissionEvent[], required
    - `ts` integer, required
    - `kind` 'planner_done' | 'builder_pushed' | 'builder_no_changes' | 'builder_failed' | 'dev_pushed' | 'dev_failed' | 'ci_passed' | 'ci_failed' | 'cd_passed' | 'cd_failed' | 'deploy_skipped' | 'review_approved' | 'review_changes_requested' | 'qa_passed' | 'qa_failed' | 'deployed' | 'deploy_failed' | 'merged' | 'declined' | 'stopped' | 'platform_update' | 'error' | 'narration_dropped' | 'stale_trigger_dropped' | 'instruction_received' | 'billing_paused' | 'billing_resumed', required
    - `label` string, required
    - `detail` string, nullable, required
    - `sandboxId` string, nullable, required
  - `stats` MissionStats, required
    - `cycleTimeMs` integer, nullable, required
    - `leadTimeMs` integer, nullable, required
    - `leadTimeRunning` boolean, required
    - `totalCostUsd` number, nullable, required
    - `unpricedModels` string[], required
    - `totalInputTokens` integer, nullable, required
    - `totalOutputTokens` integer, nullable, required
    - `agentAttempts` integer, required
    - `stages` MissionStageStat[], required
      - `stage` 'pending' | 'supervisor' | 'planning' | 'coding' | 'ci' | 'review' | 'deploying' | 'qa' | 'done' | 'declined' | 'needs_attention', required
      - `label` string, required
      - `attempts` integer, required
      - `durationMs` integer, required
      - `percentOfCycle` number, required
      - `costUsd` number, nullable, required
      - `unpricedModels` string[], required
      - `inputTokens` integer, required
      - `outputTokens` integer, required
      - `model` string, nullable, required
      - `promptVersion` string, nullable, required
  - `stageOutcomes` MissionStageOutcomes, required
    - `plan` MissionPlanOutcome, nullable, required
      - `markdown` string, required
      - `acceptanceCriteria` string[], required
      - `filePlan` object[], required
        - `path` string, required
        - `action` 'create' | 'modify' | 'delete', required
        - `description` string, required
    - `build` MissionBuildOutcome, nullable, required
      - `prNumber` integer, nullable, required
      - `prUrl` string, nullable, required
      - `headSha` string, nullable
      - `commitUrl` string, nullable
      - `diffAdded` integer, nullable, required
      - `diffRemoved` integer, nullable, required
      - `changedFiles` integer, nullable, required
      - `files` object[], required
        - `path` string, required
        - `additions` integer, required
        - `deletions` integer, required
        - `status` string, required
    - `review` MissionReviewOutcome, nullable, required
      - `approved` boolean, required
      - `comments` object[], required
        - `file` string, required
        - `line` integer, nullable, required
        - `severity` 'critical' | 'suggestion' | 'trivial', required
        - `comment` string, required
    - `qa` MissionQaOutcome, nullable, required
      - `overall` 'pass' | 'fail', required
      - `criteria` object[], required
        - `name` string, required
        - `pass` boolean, required
        - `evidence` string, required
      - `proofSkipped` boolean, required
  - `proofRunSandboxId` string, nullable, required

## Other responses

- `404`: Not found

---

[API](https://skmtc.dev/letsship/apis/ship-api.md) · [All operations](https://skmtc.dev/letsship/apis/ship-api/llms.txt) · [OpenAPI document](https://skmtc.dev/letsship/apis/ship-api/revisions/e6eac1bcadd4?raw)
