---
title: "Resolve an issue by its friendly key (PREFIX-number)"
method: GET
path: "/api/workspaces/{workspaceId}/issues/by-key/{issueKey}"
tags: ["Issues"]
---

# Resolve an issue by its friendly key (PREFIX-number)

`GET /api/workspaces/{workspaceId}/issues/by-key/{issueKey}`

## Request

- Base URL: `https://hiveship.app/api`
- URL: `https://hiveship.app/api/api/workspaces/{workspaceId}/issues/by-key/{issueKey}`
- Auth: one of:
  - `apiToken` (a scheme the document does not define)
  - HTTP bearer
  - API key in cookie `hiveship_access`

Resolves an issue from its `PREFIX-number` key (e.g. `PLAT-50`) within the workspace — the prefix identifies the project, the number the issue. Case-insensitive on the prefix. Backs the friendly issue URL `/app/{workspaceSlug}/{PREFIX}-{number}` (PLAT-81); 404 on a malformed key or a miss. The two-segment path keeps it clear of the list `GET ""`.

## Path parameters

- `workspaceId` string, required
- `issueKey` string, required

## Response `200`

The resolved issue

- object
  - `success` boolean, required
  - `data` object, required
    - `id` string, cuid, required
    - `number` integer, required
    - `title` string, required
    - `description` string, nullable, required
    - `status` string, required
    - `priority` 'URGENT' | 'HIGH' | 'MEDIUM' | 'LOW' | 'NONE', required
    - `storyPoints` integer, nullable, required
    - `estimatedHours` number, nullable, required
    - `actualHours` number, nullable, required
    - `dueDate` string, date-time, nullable, required
    - `delegateType` 'HUMAN' | 'AGENT', required
    - `assignee` object, nullable, required
      - `id` string, cuid, required
      - `name` string, required
      - `avatarUrl` string, nullable, required
    - `reviewer` object, nullable, required
      - `id` string, cuid, required
      - `name` string, required
      - `avatarUrl` string, nullable, required
    - `agent` object, nullable, required
      - `id` string, cuid, required
      - `name` string, required
      - `avatarUrl` string, nullable, required
      - `provider` 'CURSOR' | 'CLAUDE_CODE' | 'CODEX' | 'AIDER' | 'DEVIN' | 'COPILOT' | 'CUSTOM', required
    - `creator` object, nullable, required
      - `id` string, cuid, required
      - `name` string, required
      - `avatarUrl` string, nullable, required
    - `createdByAgent` object, nullable, required
      - `id` string, cuid, required
      - `name` string, required
      - `avatarUrl` string, nullable, required
      - `provider` 'CURSOR' | 'CLAUDE_CODE' | 'CODEX' | 'AIDER' | 'DEVIN' | 'COPILOT' | 'CUSTOM', required
    - `project` object, required
      - `id` string, cuid, required
      - `name` string, required
      - `prefix` string, required
    - `sprint` object, nullable, required
      - `id` string, cuid, required
      - `name` string, required
    - `labels` object[], required
      - `id` string, cuid, required
      - `name` string, required
      - `color` string, required
    - `commentCount` integer, required
    - `activityCount` integer, required
    - `agentSessions` object[], required
      - `id` string, cuid, required
      - `status` 'QUEUED' | 'WORKING' | 'WAITING_INPUT' | 'ERRORED' | 'COMPLETED', required
      - `issueId` string, cuid, required
      - `agentId` string, cuid, required
      - `startedAt` string, date-time, nullable, required
      - `completedAt` string, date-time, nullable, required
      - `errorMessage` string, nullable, required
      - `externalUrls` string[], required
      - `tokenUsage` integer, nullable, required
      - `modelUsed` string, nullable, required
      - `modelUsage` object[], required
        - `model` string, required
        - `inputTokens` integer, required
        - `outputTokens` integer, required
        - `cacheReadTokens` integer, required
        - `cacheWriteTokens` integer, required
        - `totalTokens` integer, required
      - `createdAt` string, date-time, required
    - `agentTokenUsage` object, required
      - `totalTokens` integer, required
      - `sessionCount` integer, required
      - `finishedSessionCount` integer, required
      - `totalSessionCount` integer, required
      - `byModel` object[], required
        - `model` string, required
        - `inputTokens` integer, required
        - `outputTokens` integer, required
        - `cacheReadTokens` integer, required
        - `cacheWriteTokens` integer, required
        - `totalTokens` integer, required
    - `linkedPRs` object[], required
      - `id` string, cuid, required
      - `provider` 'github' | 'gitlab', required
      - `prNumber` integer, required
      - `prUrl` string, uri, required
      - `prTitle` string, required
      - `prStatus` 'open' | 'merged' | 'closed', required
      - `reviewState` 'approved' | 'changes_requested', nullable, required
      - `branchName` string, nullable, required
      - `repoFullName` string, required
    - `parentId` string, cuid, nullable, required
    - `children` object[], required
      - `id` string, cuid, required
      - `triageSource` string, nullable, required
      - `number` integer, required
      - `title` string, required
      - `status` string, required
      - `priority` 'URGENT' | 'HIGH' | 'MEDIUM' | 'LOW' | 'NONE', required
      - `delegateType` 'HUMAN' | 'AGENT', required
      - `assignee` object, nullable, required
        - `id` string, cuid, required
        - `name` string, required
        - `avatarUrl` string, nullable, required
      - `agent` object, nullable, required
        - `id` string, cuid, required
        - `name` string, required
        - `avatarUrl` string, nullable, required
        - `provider` 'CURSOR' | 'CLAUDE_CODE' | 'CODEX' | 'AIDER' | 'DEVIN' | 'COPILOT' | 'CUSTOM', required
      - `labels` object[], required
        - `id` string, cuid, required
        - `name` string, required
        - `color` string, required
      - `commentCount` integer, required
      - `linkedPRCount` integer, required
      - `linkedPRStatus` 'open' | 'merged' | 'closed', nullable, required
      - `linkedPRReviewState` 'approved' | 'changes_requested', nullable, required
      - `projectPrefix` string, required
      - `project` object, required
        - `id` string, cuid, required
        - `name` string, required
        - `prefix` string, required
      - `storyPoints` integer, nullable, required
      - `dueDate` string, date-time, nullable, required
      - `activeSession` object, nullable, required
        - `id` string, cuid, required
        - `agentId` string, cuid, required
        - `agentName` string, required
        - `startedAt` string, date-time, required
        - `tokenUsage` integer, nullable, required
        - `modelUsed` string, nullable, required
      - `latestActivity` object, nullable, required
        - `kind` 'THOUGHT' | 'TOOL_USE' | 'ELICITATION' | 'RESPONSE' | 'ERROR', required
        - `summary` string, required
        - `createdAt` string, date-time, required
      - `completedBy` object, nullable, required
        - `agentId` string, cuid, required
        - `agentName` string, required
    - `childrenRollup` object, nullable, required
      - `total` integer, required
      - `byBucket` object, required
        - `backlog` integer, required
        - `unstarted` integer, required
        - `started` integer, required
        - `completed` integer, required
        - `cancelled` integer, required
    - `sortOrder` number, required
    - `attachments` object[], required
      - `id` string, cuid, required
      - `name` string, required
      - `mimeType` string, required
      - `sizeBytes` integer, required
      - `url` string, uri, required
      - `issueId` string, cuid, nullable, required
      - `commentId` string, cuid, nullable, required
      - `user` object, nullable, required
        - `id` string, cuid, required
        - `name` string, required
        - `avatarUrl` string, nullable, required
      - `agent` object, nullable, required
        - `id` string, cuid, required
        - `name` string, required
        - `avatarUrl` string, nullable, required
        - `provider` 'CURSOR' | 'CLAUDE_CODE' | 'CODEX' | 'AIDER' | 'DEVIN' | 'COPILOT' | 'CUSTOM', required
      - `createdAt` string, date-time, required
    - `relations` object, required
      - `blocks` object[], required
        - `relationId` string, cuid, required
        - `issue` object, required
          - `id` string, cuid, required
          - `number` integer, required
          - `title` string, required
          - `status` string, required
          - `priority` 'URGENT' | 'HIGH' | 'MEDIUM' | 'LOW' | 'NONE', required
          - `projectPrefix` string, required
        - `createdAt` string, date-time, required
      - `blockedBy` object[], required
        - `relationId` string, cuid, required
        - `issue` object, required
          - `id` string, cuid, required
          - `number` integer, required
          - `title` string, required
          - `status` string, required
          - `priority` 'URGENT' | 'HIGH' | 'MEDIUM' | 'LOW' | 'NONE', required
          - `projectPrefix` string, required
        - `createdAt` string, date-time, required
      - `duplicates` object[], required
        - `relationId` string, cuid, required
        - `issue` object, required
          - `id` string, cuid, required
          - `number` integer, required
          - `title` string, required
          - `status` string, required
          - `priority` 'URGENT' | 'HIGH' | 'MEDIUM' | 'LOW' | 'NONE', required
          - `projectPrefix` string, required
        - `createdAt` string, date-time, required
      - `duplicatedBy` object[], required
        - `relationId` string, cuid, required
        - `issue` object, required
          - `id` string, cuid, required
          - `number` integer, required
          - `title` string, required
          - `status` string, required
          - `priority` 'URGENT' | 'HIGH' | 'MEDIUM' | 'LOW' | 'NONE', required
          - `projectPrefix` string, required
        - `createdAt` string, date-time, required
      - `relates` object[], required
        - `relationId` string, cuid, required
        - `issue` object, required
          - `id` string, cuid, required
          - `number` integer, required
          - `title` string, required
          - `status` string, required
          - `priority` 'URGENT' | 'HIGH' | 'MEDIUM' | 'LOW' | 'NONE', required
          - `projectPrefix` string, required
        - `createdAt` string, date-time, required
    - `reactions` object[], required
      - `emoji` string, required
      - `count` integer, required
      - `authors` object[], required
        - `kind` 'user' | 'agent', required
        - `id` string, cuid, required
        - `name` string, required
        - `avatarUrl` string, nullable, required
      - `reactedByMe` boolean, required
    - `customFieldValues` object[], required
      - `id` string, cuid, required
      - `fieldId` string, cuid, required
      - `field` object, required
        - `id` string, cuid, required
        - `name` string, required
        - `type` 'TEXT' | 'NUMBER' | 'DATE' | 'SELECT' | 'MULTI_SELECT' | 'URL' | 'BOOLEAN', required
        - `options` object[], nullable, required
          - `value` string, required
          - `label` string, required
          - `color` string, nullable
        - `description` string, nullable, required
        - `required` boolean, required
        - `sortOrder` number, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
      - `value` unknown, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
    - `isWatching` boolean, required
    - `watcherCount` integer, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `completedAt` string, date-time, nullable, required
    - `statusChangedAt` string, date-time, nullable, required

## Other responses

- `404`: No issue matches the key in this workspace

---

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