---
title: "Add repository"
method: POST
path: "/v1/repositories"
tags: ["Repositories"]
---

# Add repository

`POST /v1/repositories`

## Request

- Base URL: `https://api.replicas.dev`
- URL: `https://api.replicas.dev/v1/repositories`
- Auth: HTTP bearer

Connects a repository. GitHub repositories must come from List connectable GitHub repositories. Requires an organization admin's personal API key.

## Headers

- `X-Replicas-Api-Version` '2026-10-07'

## Request body

- AddRepositoryRequest
  - `name` string, required: `owner/repo`
  - `url` string, uri, required
  - `provider` 'github' | 'gitlab'
  - `default_branch` string
  - `github_installation_id` integer
  - `github_repository_id` integer
  - `gitlab_project_id` integer
  - `gitlab_path_with_namespace` string

## Response `200`

Success

- object
  - `repository` Repository: A repository available to the organization
    - `id` string, uuid, required: Unique identifier for the repository
    - `name` string, required: Repository name
    - `url` string, uri, required: URL to the repository
    - `default_branch` string, required: Default branch name (e.g. main)

## Other responses

- `400`: Bad request - Missing or invalid parameters
- `401`: Unauthorized - Invalid or missing API key
- `403`: Forbidden - The authenticated account cannot access this resource
- `409`: Conflict - Resource already exists or operation conflicts with current state
- `500`: Internal server error

---

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