---
title: "Limit which repositories this workspace may deploy from"
method: PUT
path: "/client/github/repo-allow-list"
tags: ["Account"]
---

# Limit which repositories this workspace may deploy from

`PUT /client/github/repo-allow-list`

## Request

- Base URL: `https://api.roar-ai.com`
- URL: `https://api.roar-ai.com/client/github/repo-allow-list`
- Auth: HTTP bearer

Owner-only, and a replace: send the whole list. Exists because GitHub holds one repository selection per installation and several workspaces can share one, so narrowing it there narrows it for all of them. Holding the list here leaves GitHub’s selection alone. While `restricted`, a repository outside the list cannot be chosen, browsed or deployed — by a person, an API key or an operator — and a repository that is not on it is refused with a 404. `repos`/`orgs` omitted keeps the stored list. Refused (409) when an app here deploys from a repository or organisation the list omits, because that app would stop deploying; and (400) for a repository the caller cannot see on GitHub, or an organisation this workspace is not connected to.

## Request body

- object
  - `restricted` boolean, required
  - `mode` 'repos' | 'orgs': What the limit counts. Omitted keeps the stored mode.
  - `repos` string[]
  - `orgs` string[]

## Response `200`

The setting now in force

## Other responses

- `400`: A name that is not owner/name, or one the caller cannot see
- `403`: Only an owner can change this
- `409`: An app here deploys from a repository the list omits

---

[API](https://skmtc.dev/roar-ai/apis/roar-ai-api.md) · [All operations](https://skmtc.dev/roar-ai/apis/roar-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/roar-ai/apis/roar-ai-api/revisions/37e4d0d5a7fe?raw)
