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 the repository type. Available types endpoint: /katello/api/repositories/repository_types

Validations:

  • String

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

Filter repositories by content unit type (erratum, docker_tag, etc.). Check the “Indexed?” types here: /katello/api/repositories/repository_types

Validations:

  • String

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

GET /katello/api/repositories/compare
List :resource

Params

Param name Description
content_view_version_ids
optional

content view versions to compare

Validations:

  • Must be an array of any type

repository_id
optional

Library repository id to restrict comparisons to

Validations:

  • Must be a number.

restrict_comparison
optional

Return same, different or all results

Validations:

  • String


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 repository. Available types endpoint: /katello/api/repositories/repository_types

Validations:

  • String

url
optional

repository source url

Validations:

  • String

os_versions
optional

Identifies whether the repository should be unavailable on a client with a non-matching OS version. Pass [] to make repo available for clients 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 , nil allowed

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

Validations:

  • Must be a number.

ssl_ca_cert_id
optional , nil allowed

Identifier of the content credential containing the SSL CA Cert

Validations:

  • Must be a number.

ssl_client_cert_id
optional , nil allowed

Identifier of the content credential containing the SSL Client Cert

Validations:

  • Must be a number.

ssl_client_key_id
optional , nil allowed

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

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.

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,treeinfo

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.

metadata_expire
optional

Time to expire yum metadata in seconds. Only relevant for custom yum repositories.

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. Not allowed for repositories with the 'Complete Mirroring' mirroring policy.

Params

Param name Description
id
required

Repository identifier

Validations:

  • Must be a number.

force
optional

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 or deb 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 unavailable on a client with a non-matching OS version. Pass [] to make repo available for clients 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 , nil allowed

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

Validations:

  • Must be a number.

ssl_ca_cert_id
optional , nil allowed

Identifier of the content credential containing the SSL CA Cert

Validations:

  • Must be a number.

ssl_client_cert_id
optional , nil allowed

Identifier of the content credential containing the SSL Client Cert

Validations:

  • Must be a number.

ssl_client_key_id
optional , nil allowed

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

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.

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,treeinfo

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.

metadata_expire
optional

Time to expire yum metadata in seconds. Only relevant for custom yum repositories.

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.

delete_empty_repo_filters
optional

Delete content view filters that have this repository as the last associated repository. Defaults to true. If false, such filters will now apply to all repositories in the content view.

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

The type of content to remove (srpm, docker_manifest, etc.). Check removable types here: /katello/api/repositories/repository_types

Validations:

  • String

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

The type of content to upload (srpm, file, etc.). Check uploadable types here: /katello/api/repositories/repository_types

Validations:

  • String


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: docker_manifest, deb, file, rpm, srpm, ostree_ref, python_package.

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]
required

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_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