Skip to main content

Get Project

curl -X GET \
  "https://copr.fedorainfracloud.org/api_3/project/?ownername=@copr&projectname=copr-dev"
Get details for a single Copr project according to ownername and projectname.

Query Parameters

ownername
string
required
Owner of the project (username or @groupname)
projectname
string
required
Name of the project

Response

id
integer
Unique project identifier
name
string
Project name
ownername
string
Owner name (user or group)
full_name
string
Full project name in format ownername/projectname
description
string
Project description
instructions
string
Installation instructions
homepage
string
Project homepage URL
contact
string
Contact information
persistent
boolean
Whether the project is persistent (not auto-pruned)
auto_prune
boolean
Whether old builds are automatically pruned
enable_net
boolean
Whether network access is enabled during builds
bootstrap
string
Bootstrap container configuration (“on”, “off”, “image”)
isolation
string
Build isolation mode
additional_repos
array
List of additional repository URLs
chroot_repos
object
Repository URLs for each enabled chroot

List Projects

curl -X GET \
  "https://copr.fedorainfracloud.org/api_3/project/list?ownername=@copr&limit=10"
Get details for multiple Copr projects according to ownername with pagination support.

Query Parameters

ownername
string
Filter projects by owner name
limit
integer
default:"100"
Number of items per page
offset
integer
default:"0"
Number of items to skip
order
string
default:"id"
Field to order by
order_type
string
default:"ASC"
Order direction (ASC or DESC)

Response

items
array
Array of project objects (same structure as Get Project)
meta
object
Pagination metadata

Search Projects

curl -X GET \
  "https://copr.fedorainfracloud.org/api_3/project/search?query=python"
Search for projects using a fulltext search query.

Query Parameters

query
string
required
Search query string
limit
integer
default:"100"
Number of items per page
offset
integer
default:"0"
Number of items to skip

Response

Same structure as List Projects response.

Create Project

curl -X POST \
  "https://copr.fedorainfracloud.org/api_3/project/add/myuser" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-project",
    "chroots": ["fedora-40-x86_64", "fedora-39-x86_64"],
    "description": "My awesome project",
    "instructions": "dnf copr enable myuser/my-project"
  }'
Create a new Copr project. Requires authentication.

Path Parameters

ownername
string
required
Owner name (username or @groupname for group projects)

Query Parameters

exist_ok
boolean
default:"False"
If True, return existing project instead of raising error if project already exists

Request Body

name
string
required
Project name (must be unique for the owner)
chroots
array
required
List of mock chroot names to enable
description
string
Project description
instructions
string
Installation instructions for end users
homepage
string
Project homepage URL
contact
string
Contact information
additional_repos
array
Additional repository URLs (space-separated or array)
enable_net
boolean
default:"false"
Enable network access during builds
persistent
boolean
default:"false"
Make project persistent (requires admin privileges)
auto_prune
boolean
default:"true"
Automatically prune old builds
unlisted_on_hp
boolean
default:"false"
Hide project from homepage listing
bootstrap
string
Bootstrap container mode: “on”, “off”, “image”, or “default”
isolation
string
Build isolation mode: “default”, “simple”, or “nspawn”
module_hotfixes
boolean
default:"false"
Enable module hotfixes
appstream
boolean
default:"false"
Enable AppStream metadata generation
follow_fedora_branching
boolean
default:"false"
Automatically enable new Fedora releases
repo_priority
integer
Repository priority value

Response

id
integer
Created project ID
Returns the created project object with 200 status code, or 400 for validation errors.

Edit Project

curl -X PUT \
  "https://copr.fedorainfracloud.org/api_3/project/edit/myuser/my-project" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "Updated description",
    "enable_net": true
  }'
Edit an existing Copr project. Requires authentication and edit permissions.

Path Parameters

ownername
string
required
Project owner name
projectname
string
required
Project name

Request Body

Accepts the same fields as Create Project. Only provided fields will be updated.

Response

Returns the updated project object with 200 status code.

Fork Project

curl -X POST \
  "https://copr.fedorainfracloud.org/api_3/project/fork/@copr/copr-dev" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-copr-fork",
    "ownername": "myuser",
    "confirm": true
  }'
Fork an existing Copr project into your namespace or a group. Requires authentication.

Path Parameters

ownername
string
required
Source project owner name
projectname
string
required
Source project name

Request Body

name
string
required
Name for the forked project
ownername
string
required
Destination owner (your username or a group you belong to)
confirm
boolean
default:"false"
Confirm overwriting if destination project already exists

Response

Returns the forked project object with 200 status code.

Delete Project

curl -X DELETE \
  "https://copr.fedorainfracloud.org/api_3/project/delete/myuser/my-project"
Delete a Copr project permanently. Requires authentication and admin permissions.

Path Parameters

ownername
string
required
Project owner name
projectname
string
required
Project name

Response

Returns the deleted project object with 200 status code.

Regenerate Repository Metadata

curl -X PUT \
  "https://copr.fedorainfracloud.org/api_3/project/regenerate-repos/myuser/my-project"
Regenerate all repository metadata for a Copr project. Useful after manual repository modifications.

Path Parameters

ownername
string
required
Project owner name
projectname
string
required
Project name

Response

Returns the project object with 200 status code.

Build docs developers (and LLMs) love