---
title: "Get issue suggestions for a project"
method: GET
path: "/experimental/projects/{projectId}/factory/implement/issue-suggestions"
tags: ["Projects", "Integrations"]
---

# Get issue suggestions for a project

`GET /experimental/projects/{projectId}/factory/implement/issue-suggestions`

## Request

- Base URL: `https://api.tessl.io`
- URL: `https://api.tessl.io/experimental/projects/{projectId}/factory/implement/issue-suggestions`
- Auth: none declared

Reads the current issue-suggestions result for the project. Read-only: it never starts or restarts generation and never extends the result lifetime. POST the same path to start. Suggestions are written by one model call over files read from the repository, not validated analysis. Available only for a root GitHub project; any other project gets 400. Requires view access to the project workspace.

## Path parameters

- `projectId` string, uuid, required

## Headers

- `Authorization` string

## Response `200`

Default Response

- object
  - `links` object, required
    - `self` string, uri, required
  - `data` object, required
    - `id` string, required
    - `type` 'issue-suggestions', required
    - `attributes` object, required
      - `status` union, required: `pending` covers both not started and running: poll the GET while it is `pending`, and POST to start. `ready` carries suggestions; `empty` means the inspected files supported none (see `detail`); `failed` carries an error in `detail` and a deliberate POST retries it.
        - 'pending'
        - 'ready'
        - 'empty'
        - 'failed'
      - `source` 'repository', required: Suggestions are written by one model call over files read from the repository at `commitSha`. They are not validated analysis.
      - `suggestions` object[], required
        - `id` string, required: Stable for one result.
        - `label` string, required: Short pill text of 3 to 5 words. Not the issue title: create the issue with `title`.
        - `title` string, required
        - `body` string, required: The complete issue body in Markdown: context, evidence, the change, and acceptance criteria.
        - `evidence` object[], required: Repository files, and lines where known, that support the issue.
          - `path` string, required
          - `line` integer
      - `detail` string, nullable, required: Why the result is pending, empty, failed or limited. Null when ready without limits.
      - `commitSha` string, nullable, required
      - `model` string, nullable, required
      - `generatedAt` string, date-time, nullable, required

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Default Response
- `404`: Not Found
- `500`: Internal Server Error

## Changes

- **2026-10-29** `06d2142ed144`: 1 info
  - api operation id `listProjectFactoryImplementIssueSuggestions` was added
- **2026-10-29** `93d1862a760f`: 1 info
  - added the required property `data/attributes/suggestions/items/label` to the response with the `200` status
- **2026-10-28** `13a6f2425511`: 1 warning, 6 info
  - added the new `repository` enum value to the `data/attributes/source` response property for the response status `200`
  - removed the `stub` enum value from the `data/attributes/source` response property for the response status `200`
  - added the required property `data/attributes/commitSha` to the response with the `200` status
  - added the required property `data/attributes/detail` to the response with the `200` status
  - …3 more
- **2026-10-28** `6e27e0243694`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/tessl/apis/tessl-api/changes/experimental/projects/:projectId/factory/implement/issue-suggestions/get.md)

---

[API](https://skmtc.dev/tessl/apis/tessl-api.md) - [All operations](https://skmtc.dev/tessl/apis/tessl-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tessl/apis/tessl-api/revisions/4fa2a17154e4?raw)
