GET /katello/api/repositories
List of enabled repositories

GET /katello/api/content_views/:id/repositories
List of repositories for a content view

GET /katello/api/organizations/:organization_id/repositories
List of repositories in an organization

GET /katello/api/organizations/:organization_id/environments/:environment_id/repositories
List repositories in the environment

GET /katello/api/products/:product_id/repositories
List of repositories for a product

GET /katello/api/environments/:environment_id/products/:product_id/repositories
List of repositories belonging to a product in an environment

Params

Param name Description
organization_id
optional

ID of an organization to show repositories in

Validations:

  • Must be a number.

product_id
optional

ID of a product to show repositories of

Validations:

  • Must be a number.

environment_id
optional

ID of an environment to show repositories in

Validations:

  • Must be a number.

content_view_id
optional

ID of a content view to show repositories in

Validations:

  • Must be a number.

content_view_version_id
optional

ID of a content view version to show repositories in

Validations:

  • Must be a number.

deb_id
optional

Id of a deb package to find repositories that contain the deb

Validations:

  • String

erratum_id
optional

Id of an erratum to find repositories that contain the erratum

Validations:

  • String

rpm_id
optional

Id of a rpm package to find repositories that contain the rpm

Validations:

  • String

file_id
optional

Id of a file to find repositories that contain the file

Validations:

  • String

ansible_collection_id
optional

Id of an ansible collection to find repositories that contain the ansible collection

Validations:

  • String

library
optional

show repositories in Library and the default content view

Validations:

  • Must be one of: true, false, 1, 0.

archived
optional

show archived repositories

Validations:

  • Must be one of: true, false, 1, 0.

content_type
optional

limit to only repositories of this type

Validations:

  • Must be one of: ansible_collection, deb, docker, file, ostree, python, yum.

name
optional

name of the repository

Validations:

  • String

label
optional

label of the repository

Validations:

  • String

description
optional

description of the repository

Validations:

  • String

available_for
optional

interpret specified object to return only Repositories that can be associated with specified object. Only ‘content_view’ & ‘content_view_version’ are supported.

Validations:

  • String

with_content
optional

only repositories having at least one of the specified content type ex: rpm , erratum

Validations:

  • Must be one of: ansible_collection, deb, docker_manifest, docker_manifest_list, docker_tag, docker_blob, file, ostree_ref, python_package, rpm, modulemd, erratum, distribution, package_category, package_group, yum_repo_metadata_file, srpm.

download_policy
optional

limit to only repositories with this download policy

Validations:

  • Must be one of: immediate, on_demand.

username
optional

only show the repositories readable by this user with this username

Validations:

  • String

search
optional

Search string

Validations:

  • String

page
optional

Page number, starting at 1

Validations:

  • Must be a number.

per_page
optional

Number of results per page to return

Validations:

  • Must be a number.

order
optional

Sort field and order, eg. ‘id DESC’

Validations:

  • String

full_result
optional

Whether or not to show all results

Validations:

  • Must be one of: true, false, 1, 0.

sort_by
optional

Field to sort the results on

Validations:

  • String

sort_order
optional

How to order the sorted results (e.g. ASC for ascending)

Validations:

  • String

Search fields

Field name Type Possible values
container_repository_name string
content_label string
content_type string
content_view_id integer
description text
distribution_arch string
distribution_bootable boolean
distribution_family string
distribution_variant string
distribution_version string
download_policy string
label string
name string
product string
product_id integer
product_name string
redhat true, false

POST /katello/api/repositories
Create a custom repository

Params

Param name Description
name
required

Name of the repository

Validations:

  • String

description
optional

Description of the repository

Validations:

  • String

label
optional

Validations:

  • String

product_id
required

Product the repository belongs to

Validations:

  • Must be a number.

content_type
required

type of repo

Validations:

  • Must be one of: ansible_collection, deb, docker, file, ostree, python, yum.

url
optional

repository source url

Validations:

  • String

os_versions
optional

Identifies whether the repository should be disabled on a client with a non-matching OS version. Pass [] to enable regardless of OS version. Maximum length 1; allowed tags are: rhel-6, rhel-7, rhel-8, rhel-9

Validations:

  • Must be an array of any type

gpg_key_id
optional

id of the gpg key that will be assigned to the new repository

Validations:

  • Must be a number.

ssl_ca_cert_id
optional

Identifier of the content credential containing the SSL CA Cert

Validations:

  • Must be a number.

ssl_client_cert_id
optional

Identifier of the content credential containing the SSL Client Cert

Validations:

  • Must be a number.

ssl_client_key_id
optional

Identifier of the content credential containing the SSL Client Key

Validations:

  • Must be a number.

unprotected
optional

true if this repository can be published via HTTP

Validations:

  • Must be one of: true, false, 1, 0.

checksum_type
optional

Checksum of the repository, currently ‘sha1’ & ‘sha256’ are supported

Validations:

  • String

docker_upstream_name
optional

Name of the upstream docker repository

Validations:

  • String

docker_tags_whitelist
optional

Comma-separated list of tags to sync for Container Image repository (Deprecated)

Validations:

  • Must be an array of any type

include_tags
optional

Comma-separated list of tags to sync for a container image repository

Validations:

  • Must be an array of any type

exclude_tags
optional

Comma-separated list of tags to exclude when syncing a container image repository. Default: any tag ending in “-source”

Validations:

  • Must be an array of any type

download_policy
optional

download policy for yum, deb, and docker repos (either ‘immediate’ or ‘on_demand’)

Validations:

  • Must be one of: immediate, on_demand.

download_concurrency
optional

Used to determine download concurrency of the repository in pulp3. Use value less than 20. Defaults to 10

Validations:

  • Must be a number.

mirror_on_sync
optional

true if this repository when synced has to be mirrored from the source and stale rpms removed (Deprecated)

Validations:

  • Must be one of: true, false, 1, 0.

mirroring_policy
optional

Policy to set for mirroring content. Must be one of additive.

Validations:

  • Must be one of: additive, mirror_complete, mirror_content_only.

verify_ssl_on_sync
optional

if true, Katello will verify the upstream url’s SSL certifcates are signed by a trusted CA

Validations:

  • Must be one of: true, false, 1, 0.

upstream_username
optional

Username of the upstream repository user used for authentication

Validations:

  • String

upstream_password
optional

Password of the upstream repository user used for authentication

Validations:

  • String

upstream_authentication_token
optional

Password of the upstream authentication token.

Validations:

  • String

deb_releases
optional

whitespace-separated list of releases to be synced from deb-archive

Validations:

  • String

deb_components
optional

whitespace-separated list of repo components to be synced from deb-archive

Validations:

  • String

deb_architectures
optional

whitespace-separated list of architectures to be synced from deb-archive

Validations:

  • String

ignorable_content
optional

List of content units to ignore while syncing a yum repository. Must be subset of srpm

Validations:

  • Must be an array of any type

ansible_collection_requirements
optional

Contents of requirement yaml file to sync from URL

Validations:

  • String

ansible_collection_auth_url
optional

The URL to receive a session token from, e.g. used with Automation Hub.

Validations:

  • String

ansible_collection_auth_token
optional

The token key to use for authentication.

Validations:

  • String

http_proxy_policy
optional

policies for HTTP proxy for content sync

Validations:

  • Must be one of: global_default_http_proxy, none, use_selected_http_proxy.

http_proxy_id
optional

ID of a HTTP Proxy

Validations:

  • Must be a number.

arch
optional

Architecture of content in the repository

Validations:

  • String

retain_package_versions_count
optional

The maximum number of versions of each package to keep.

Validations:

  • Must be a number.

excludes
optional

Python packages to exclude from the upstream URL, names separated by newline. You may also specify versions, for example: django~=2.0.

Validations:

  • Must be an array of any type

includes
optional

Python packages to include from the upstream URL, names separated by newline. You may also specify versions, for example: django~=2.0. Leave empty to include every package.

Validations:

  • Must be an array of any type

package_types
optional

Package types to sync for Python content, separated by comma. Leave empty to get every package type. Package types are: bdist_dmg, bdist_dumb, bdist_egg, bdist_msi, bdist_rpm, bdist_wheel, bdist_wininst, sdist.

Validations:

  • Must be an array of any type


GET /katello/api/repositories/repository_types
Show the available repository types

Params

Param name Description
creatable
optional

When set to ‘True’ repository types that are creatable will be returned

Validations:

  • Must be one of: true, false, 1, 0.


PUT /katello/api/repositories/:id/republish
Forces a republish of the specified repository, regenerating metadata and symlinks on the filesystem.

Params

Param name Description
id
required

Repository identifier

Validations:

  • Must be a number.

force
required

Force metadata regeneration to proceed. Dangerous when repositories use the ‘Complete Mirroring’ mirroring policy.

Validations:

  • Must be one of: true, false, 1, 0.


GET /katello/api/repositories/:id
Show a repository

Params

Param name Description
id
required

repository ID

Validations:

  • Must be a number.

organization_id
optional

Organization ID

Validations:

  • Must be a number.


POST /katello/api/repositories/:id/sync
Sync a repository

Params

Param name Description
id
required

repository ID

Validations:

  • Must be a number.

source_url
optional

temporarily override feed URL for sync

Validations:

  • String

incremental
optional

perform an incremental import

Validations:

  • Must be one of: true, false, 1, 0.

skip_metadata_check
optional

Force sync even if no upstream changes are detected. Only used with yum repositories.

Validations:

  • Must be one of: true, false, 1, 0.

validate_contents
optional

Force a sync and validate the checksums of all content. Only used with yum repositories.

Validations:

  • Must be one of: true, false, 1, 0.


POST /katello/api/repositories/:id/verify_checksum
Verify checksum of repository contents

Params

Param name Description
id
required

repository ID

Validations:

  • Must be a number.


POST /katello/api/repositories/:id/reclaim_space
Reclaim space from an On Demand repository

Params

Param name Description
id
required

repository ID

Validations:

  • Must be a number.


PUT /katello/api/repositories/:id
Update a repository

Params

Param name Description
id
required

repository ID

Validations:

  • Must be a number.

name
optional

Validations:

  • String

description
optional

description of the repository

Validations:

  • String

url
optional

repository source url

Validations:

  • String

os_versions
optional

Identifies whether the repository should be disabled on a client with a non-matching OS version. Pass [] to enable regardless of OS version. Maximum length 1; allowed tags are: rhel-6, rhel-7, rhel-8, rhel-9

Validations:

  • Must be an array of any type

gpg_key_id
optional

id of the gpg key that will be assigned to the new repository

Validations:

  • Must be a number.

ssl_ca_cert_id
optional

Identifier of the content credential containing the SSL CA Cert

Validations:

  • Must be a number.

ssl_client_cert_id
optional

Identifier of the content credential containing the SSL Client Cert

Validations:

  • Must be a number.

ssl_client_key_id
optional

Identifier of the content credential containing the SSL Client Key

Validations:

  • Must be a number.

unprotected
optional

true if this repository can be published via HTTP

Validations:

  • Must be one of: true, false, 1, 0.

checksum_type
optional

Checksum of the repository, currently ‘sha1’ & ‘sha256’ are supported

Validations:

  • String

docker_upstream_name
optional

Name of the upstream docker repository

Validations:

  • String

docker_tags_whitelist
optional

Comma-separated list of tags to sync for Container Image repository (Deprecated)

Validations:

  • Must be an array of any type

include_tags
optional

Comma-separated list of tags to sync for a container image repository

Validations:

  • Must be an array of any type

exclude_tags
optional

Comma-separated list of tags to exclude when syncing a container image repository. Default: any tag ending in “-source”

Validations:

  • Must be an array of any type

download_policy
optional

download policy for yum, deb, and docker repos (either ‘immediate’ or ‘on_demand’)

Validations:

  • Must be one of: immediate, on_demand.

download_concurrency
optional

Used to determine download concurrency of the repository in pulp3. Use value less than 20. Defaults to 10

Validations:

  • Must be a number.

mirror_on_sync
optional

true if this repository when synced has to be mirrored from the source and stale rpms removed (Deprecated)

Validations:

  • Must be one of: true, false, 1, 0.

mirroring_policy
optional

Policy to set for mirroring content. Must be one of additive.

Validations:

  • Must be one of: additive, mirror_complete, mirror_content_only.

verify_ssl_on_sync
optional

if true, Katello will verify the upstream url’s SSL certifcates are signed by a trusted CA

Validations:

  • Must be one of: true, false, 1, 0.

upstream_username
optional

Username of the upstream repository user used for authentication

Validations:

  • String

upstream_password
optional

Password of the upstream repository user used for authentication

Validations:

  • String

upstream_authentication_token
optional

Password of the upstream authentication token.

Validations:

  • String

deb_releases
optional

whitespace-separated list of releases to be synced from deb-archive

Validations:

  • String

deb_components
optional

whitespace-separated list of repo components to be synced from deb-archive

Validations:

  • String

deb_architectures
optional

whitespace-separated list of architectures to be synced from deb-archive

Validations:

  • String

ignorable_content
optional

List of content units to ignore while syncing a yum repository. Must be subset of srpm

Validations:

  • Must be an array of any type

ansible_collection_requirements
optional

Contents of requirement yaml file to sync from URL

Validations:

  • String

ansible_collection_auth_url
optional

The URL to receive a session token from, e.g. used with Automation Hub.

Validations:

  • String

ansible_collection_auth_token
optional

The token key to use for authentication.

Validations:

  • String

http_proxy_policy
optional

policies for HTTP proxy for content sync

Validations:

  • Must be one of: global_default_http_proxy, none, use_selected_http_proxy.

http_proxy_id
optional

ID of a HTTP Proxy

Validations:

  • Must be a number.

arch
optional

Architecture of content in the repository

Validations:

  • String

retain_package_versions_count
optional

The maximum number of versions of each package to keep.

Validations:

  • Must be a number.

excludes
optional

Python packages to exclude from the upstream URL, names separated by newline. You may also specify versions, for example: django~=2.0.

Validations:

  • Must be an array of any type

includes
optional

Python packages to include from the upstream URL, names separated by newline. You may also specify versions, for example: django~=2.0. Leave empty to include every package.

Validations:

  • Must be an array of any type

package_types
optional

Package types to sync for Python content, separated by comma. Leave empty to get every package type. Package types are: bdist_dmg, bdist_dumb, bdist_egg, bdist_msi, bdist_rpm, bdist_wheel, bdist_wininst, sdist.

Validations:

  • Must be an array of any type


DELETE /katello/api/repositories/:id
Destroy a custom repository

Params

Param name Description
id
required

Validations:

  • Must be a number.

remove_from_content_view_versions
optional

Force delete the repository by removing it from all content view versions

Validations:

  • Must be one of: true, false, 1, 0.


PUT /katello/api/repositories/:id/remove_packages

PUT /katello/api/repositories/:id/remove_docker_manifests

PUT /katello/api/repositories/:id/remove_content

Remove content from a repository

Params

Param name Description
id
required

repository ID

Validations:

  • Must be a number.

ids
required

Array of content ids to remove

Validations:

  • Must be an array of any type

content_type
optional

content type (‘deb’, ‘docker_manifest’, ‘file’, ‘ostree’, ‘rpm’, ‘srpm’)

Validations:

  • Must be one of: deb, docker_manifest, file, python_package, rpm, srpm.

sync_capsule
optional

Whether or not to sync an external capsule after upload. Default: true

Validations:

  • Must be one of: true, false, 1, 0.


POST /katello/api/repositories/:id/upload_content
Upload content into the repository

Params

Param name Description
id
required

repository ID

Validations:

  • Must be a number.

content
required

Content files to upload. Can be a single file or array of files.

Validations:

  • File

content_type
optional

content type (‘deb’, ‘docker_manifest’, ‘file’, ‘ostree’, ‘rpm’, ‘srpm’)

Validations:

  • Must be one of: deb, docker_manifest, file, ostree_ref, python_package, rpm, srpm.


PUT /katello/api/repositories/:id/import_uploads
Import uploads into a repository

Params

Param name Description
id
required

Repository id

Validations:

  • Must be a number.

async
optional

Do not wait for the ImportUpload action to finish. Default: false

Validations:

  • Must be one of: true, false, 1, 0.

publish_repository
optional

Whether or not to regenerate the repository on disk. Default: true

Validations:

  • Must be one of: true, false, 1, 0.

sync_capsule
optional

Whether or not to sync an external capsule after upload. Default: true

Validations:

  • Must be one of: true, false, 1, 0.

content_type
optional

content type (‘deb’, ‘docker_manifest’, ‘file’, ‘ostree_ref’, ‘rpm’, ‘srpm’)

Validations:

  • Must be one of: deb, docker_manifest, file, ostree_ref, python_package, rpm, srpm.

uploads
optional

Array of uploads to import

Validations:

  • Must be an Array of nested elements

uploads[id]
required

Validations:

  • String

uploads[content_unit_id]
optional

Validations:

  • String

uploads[size]
optional

Validations:

  • String

uploads[checksum]
optional

Validations:

  • String

uploads[name]
optional

Needs to only be set for file repositories or docker tags

Validations:

  • String

uploads[digest]
optional

Needs to only be set for docker tags

Validations:

  • String

ostree_parent_commit
optional

Checksum of a parent commit

Validations:

  • String

ostree_ref
optional

OSTree ref branch that holds the reference to the last commit

Validations:

  • String

ostree_repository_name
optional

Name of the repository in the ostree archive

Validations:

  • String


GET /katello/api/repositories/:id/gpg_key_content
Return the content of a repo gpg key, used directly by yum

Params

Param name Description
id
required

Validations:

  • Must be a number.


GET /katello/api/content_types
Return the enabled content types