---
title: "Set up the Shepherd factory Loop"
method: POST
path: "/experimental/projects/{projectId}/factory/shepherd"
tags: ["Projects", "Schedules"]
---

# Set up the Shepherd factory Loop

`POST /experimental/projects/{projectId}/factory/shepherd`

Sets up the Shepherd factory Loop for the pull requests Tessl opens: a `tessl/` branch with the `tessl` label.

## Path parameters

- `projectId` string, uuid, required

## Headers

- `Authorization` string

## Request body

- object
  - `instructions` string

## Response `201`

Default Response

- object
  - `links` object, required
    - `self` string, uri, required
  - `data` object, required
    - `id` string, uuid, required
    - `type` 'schedule', required
    - `attributes` object, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Default Response
- `404` — Not Found
- `409` — Default Response
- `500` — Internal Server Error
- `501` — Not Implemented

## Changes

- **2026-10-08** `52fd079bed2b` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/tessl/apis/tessl-api/changes/experimental/projects/:projectId/factory/shepherd/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/52fd079bed2b?raw)
