---
title: "Create a starter GitHub issue for Implement"
method: POST
path: "/experimental/projects/{projectId}/factory/implement/github-issues"
tags: ["Projects", "Integrations"]
---

# Create a starter GitHub issue for Implement

`POST /experimental/projects/{projectId}/factory/implement/github-issues`

## Request

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

Opens an issue in the project's repository and labels it so Tessl starts work on it, as if a person had labelled it. Returns 409 when the project does not take work from GitHub issues, or when the Tessl App is not installed on the repository for this workspace or has not been granted write access to issues. When labelling fails after the issue was opened, the 502 names the issue so it is not filed twice.

## Path parameters

- `projectId` string, uuid, required

## Headers

- `Authorization` string

## Request body

- object
  - `title` string, required
  - `body` string, required

## Response `201`

Default Response

- object
  - `links` object, required
    - `self` string, uri, required
  - `data` object, required
    - `id` string, required
    - `type` 'github-issue', required
    - `attributes` object, required
      - `number` integer, required
      - `title` string, required
      - `url` string, uri, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `500`: Internal Server Error
- `502`: Bad Gateway

## Changes

- **2026-10-21** `2bb36fc8cf11`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/tessl/apis/tessl-api/changes/experimental/projects/:projectId/factory/implement/github-issues/post.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/7386f1e6295b?raw)
