# Mirrored repositories

Part of [Scopes](https://cursor.com/docs/api/origin/reference/scopes.md) in the Origin API reference.

An installation uses every scope it holds on a native Origin repository. On a mirrored repository, only five scopes apply:

- `repository:metadata:read`
- `repository:members:read`
- `repository:contents:read`
- `repository:mirror:read`
- `repository:mirror:sync`

Every other scope returns `403` on that repository, whatever the workspace admin approved. Over the REST API, repository and contents reads, commit comparison, and [Sync Mirror](https://cursor.com/docs/api/origin/reference/sync-mirror.md) keep working, and Origin rejects pull requests, reviews, comments, checks, rulesets, and every write. Over Git HTTPS, clone, fetch, pull, and LFS download keep working, and Origin rejects push and LFS upload.

Changing a repository's mirror state is a user-credential operation rather than something an installation can do: [Transition Repo Mirror](https://cursor.com/docs/api/origin/migrations.md#transition-repo-mirror) retries a mirror whose initial sync failed, and [Detach Repo Mirror](https://cursor.com/docs/api/origin/migrations.md#detach-repo-mirror) disconnects the mirror for good, leaving a native repository.

Treat the `403` as authoritative rather than deciding from `mirror.status` whether writes are allowed.


---

## Sitemap

[Origin API docs index](https://cursor.com/docs/api/origin/llms.txt)
