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

Examples

GET /katello/api/organizations/114267492/repositories
200
{
  "total": 7,
  "subtotal": 7,
  "selectable": 7,
  "page": 1,
  "per_page": 20,
  "error": null,
  "search": null,
  "sort": {
    "by": "name",
    "order": "asc"
  },
  "results": [
    {
      "backend_identifier": "Default_Organization-Test-busybox",
      "relative_path": "ACME_Corporation/library/busybox",
      "container_repository_name": null,
      "full_path": "centos8-katello-devel.area51.example.com/",
      "library_instance_id": 84409059,
      "version_href": null,
      "remote_href": null,
      "publication_href": null,
      "content_counts": {
        "docker_manifest": 0,
        "docker_manifest_list": 0,
        "docker_tag": 0
      },
      "mirroring_policy": "mirror_content_only",
      "id": 1067868180,
      "name": "busybox",
      "label": "busybox",
      "description": null,
      "content_view_versions": [],
      "last_sync": null,
      "content_view": {
        "id": 405955044,
        "name": "Published LIbrary view"
      },
      "content_view_version": {
        "id": 111397700,
        "name": "Published LIbrary view 2.0",
        "content_view_id": 405955044
      },
      "environment": null,
      "content_type": "docker",
      "url": "https://quay.io",
      "arch": "noarch",
      "os_versions": null,
      "content_id": "1",
      "generic_remote_options": null,
      "major": null,
      "minor": null,
      "product": {
        "id": 516337990,
        "cp_id": "puppet",
        "name": "Puppet Product",
        "orphaned": true,
        "redhat": false,
        "sync_plan": null
      },
      "content_label": "fedora",
      "last_sync_words": null
    },
    {
      "backend_identifier": "debian_10_dev_library_view",
      "relative_path": "ACME_Corporation/dev/debian_10_library_library_view_label",
      "container_repository_name": null,
      "full_path": "https://centos8-katello-devel.area51.example.com/pulp/content/ACME_Corporation/dev/debian_10_library_library_view_label/",
      "library_instance_id": 697316289,
      "version_href": null,
      "remote_href": null,
      "publication_href": null,
      "content_counts": {
        "deb": 1
      },
      "mirroring_policy": "mirror_content_only",
      "id": 335884061,
      "name": "Debian 10 amd64",
      "label": "debian_10_amd64_label",
      "description": "My description",
      "content_view_versions": [],
      "last_sync": null,
      "content_view": {
        "id": 405955044,
        "name": "Published LIbrary view"
      },
      "content_view_version": {
        "id": 111397700,
        "name": "Published LIbrary view 2.0",
        "content_view_id": 405955044
      },
      "kt_environment": {
        "id": 292811013,
        "name": "Dev"
      },
      "content_type": "deb",
      "url": "http://myrepo.com",
      "arch": "noarch",
      "os_versions": null,
      "content_id": null,
      "generic_remote_options": null,
      "major": null,
      "minor": null,
      "product": {
        "id": 867224909,
        "cp_id": "debian",
        "name": "Debian",
        "orphaned": true,
        "redhat": false,
        "sync_plan": null
      },
      "content_label": null,
      "last_sync_words": null
    },
    {
      "backend_identifier": "fedora_17_dev_library_view",
      "relative_path": "ACME_Corporation/dev/fedora_17_library_library_view_label",
      "container_repository_name": null,
      "full_path": "https://centos8-katello-devel.area51.example.com/pulp/content/ACME_Corporation/dev/fedora_17_library_library_view_label/",
      "library_instance_id": 367202338,
      "version_href": null,
      "remote_href": null,
      "publication_href": null,
      "content_counts": {
        "rpm": 0,
        "erratum": 0,
        "package_group": 0,
        "srpm": 0,
        "module_stream": 0
      },
      "mirroring_policy": "mirror_content_only",
      "id": 554444310,
      "name": "Fedora 17 x86_64",
      "label": "fedora_17_x86_64_label",
      "description": "My description",
      "content_view_versions": [],
      "last_sync": null,
      "content_view": {
        "id": 405955044,
        "name": "Published LIbrary view"
      },
      "content_view_version": {
        "id": 111397700,
        "name": "Published LIbrary view 2.0",
        "content_view_id": 405955044
      },
      "kt_environment": {
        "id": 292811013,
        "name": "Dev"
      },
      "content_type": "yum",
      "url": "http://myrepo.com",
      "arch": "noarch",
      "os_versions": null,
      "content_id": "1",
      "generic_remote_options": null,
      "major": null,
      "minor": null,
      "product": {
        "id": 785257261,
        "cp_id": "fedora",
        "name": "Fedora",
        "orphaned": false,
        "redhat": false,
        "sync_plan": null
      },
      "content_label": "fedora",
      "last_sync_words": null
    },
    {
      "backend_identifier": "3_view2_library",
      "relative_path": "ACME_Corporation/library/LibraryView/fedora_17_label",
      "container_repository_name": null,
      "full_path": "https://centos8-katello-devel.area51.example.com/pulp/content/ACME_Corporation/library/LibraryView/fedora_17_label/",
      "library_instance_id": 367202338,
      "version_href": null,
      "remote_href": null,
      "publication_href": null,
      "content_counts": {
        "rpm": 0,
        "erratum": 0,
        "package_group": 0,
        "srpm": 0,
        "module_stream": 0
      },
      "mirroring_policy": "mirror_content_only",
      "id": 398981650,
      "name": "Fedora 17 x86_64",
      "label": "fedora_17_x86_64_label",
      "description": "My description",
      "content_view_versions": [],
      "last_sync": null,
      "content_view": {
        "id": 405955044,
        "name": "Published LIbrary view"
      },
      "content_view_version": {
        "id": 111397700,
        "name": "Published LIbrary view 2.0",
        "content_view_id": 405955044
      },
      "kt_environment": {
        "id": 562075838,
        "name": "Library"
      },
      "content_type": "yum",
      "url": "http://myrepo.com",
      "arch": "noarch",
      "os_versions": null,
      "content_id": "1",
      "generic_remote_options": null,
      "major": null,
      "minor": null,
      "product": {
        "id": 785257261,
        "cp_id": "fedora",
        "name": "Fedora",
        "orphaned": false,
        "redhat": false,
        "sync_plan": null
      },
      "content_label": "fedora",
      "last_sync_words": null
    },
    {
      "backend_identifier": "3_view2",
      "relative_path": "ACME_Corporation/library/LibraryView/fedora_17_label",
      "container_repository_name": null,
      "full_path": "https://centos8-katello-devel.area51.example.com/pulp/content/ACME_Corporation/library/LibraryView/fedora_17_label/",
      "library_instance_id": 367202338,
      "version_href": null,
      "remote_href": null,
      "publication_href": null,
      "content_counts": {
        "rpm": 0,
        "erratum": 0,
        "package_group": 0,
        "srpm": 0,
        "module_stream": 0
      },
      "mirroring_policy": "mirror_content_only",
      "id": 129339708,
      "name": "Fedora 17 x86_64",
      "label": "fedora_17_x86_64_label",
      "description": "My description",
      "content_view_versions": [],
      "last_sync": null,
      "content_view": {
        "id": 405955044,
        "name": "Published LIbrary view"
      },
      "content_view_version": {
        "id": 111397700,
        "name": "Published LIbrary view 2.0",
        "content_view_id": 405955044
      },
      "environment": null,
      "content_type": "yum",
      "url": "http://myrepo.com",
      "arch": "noarch",
      "os_versions": null,
      "content_id": "1",
      "generic_remote_options": null,
      "major": null,
      "minor": null,
      "product": {
        "id": 785257261,
        "cp_id": "fedora",
        "name": "Fedora",
        "orphaned": false,
        "redhat": false,
        "sync_plan": null
      },
      "content_label": "fedora",
      "last_sync_words": null
    },
    {
      "backend_identifier": "8_arch",
      "relative_path": "ACME_Corporation/archive/rhel_6_label",
      "container_repository_name": null,
      "full_path": "https://centos8-katello-devel.area51.example.com/pulp/content/ACME_Corporation/archive/rhel_6_label/",
      "library_instance_id": 103207400,
      "version_href": null,
      "remote_href": null,
      "publication_href": null,
      "content_counts": {
        "rpm": 0,
        "erratum": 0,
        "package_group": 0,
        "srpm": 0,
        "module_stream": 0
      },
      "mirroring_policy": "mirror_content_only",
      "id": 952181839,
      "name": "RHEL 6 x86_64",
      "label": "rhel_6_x86_64_label",
      "description": null,
      "content_view_versions": [],
      "last_sync": null,
      "content_view": {
        "id": 405955044,
        "name": "Published LIbrary view"
      },
      "content_view_version": {
        "id": 111397700,
        "name": "Published LIbrary view 2.0",
        "content_view_id": 405955044
      },
      "environment": null,
      "content_type": "yum",
      "url": "https://cdn.example.com/rhel/6/os",
      "arch": "x86_64",
      "os_versions": null,
      "content_id": "69",
      "generic_remote_options": null,
      "major": 6,
      "minor": "6Server",
      "product": {
        "id": 1073012828,
        "cp_id": "redhat",
        "name": "Red Hat Linux",
        "orphaned": false,
        "redhat": true,
        "sync_plan": null
      },
      "content_label": "rhel",
      "last_sync_words": null
    },
    {
      "backend_identifier": "8",
      "relative_path": "ACME_Corporation/dev/rhel_6_label",
      "container_repository_name": null,
      "full_path": "https://centos8-katello-devel.area51.example.com/pulp/content/ACME_Corporation/dev/rhel_6_label/",
      "library_instance_id": 103207400,
      "version_href": null,
      "remote_href": null,
      "publication_href": null,
      "content_counts": {
        "rpm": 0,
        "erratum": 0,
        "package_group": 0,
        "srpm": 0,
        "module_stream": 0
      },
      "mirroring_policy": "mirror_content_only",
      "id": 127576571,
      "name": "RHEL 6 x86_64",
      "label": "rhel_6_x86_64_label",
      "description": null,
      "content_view_versions": [],
      "last_sync": null,
      "content_view": {
        "id": 405955044,
        "name": "Published LIbrary view"
      },
      "content_view_version": {
        "id": 111397700,
        "name": "Published LIbrary view 2.0",
        "content_view_id": 405955044
      },
      "kt_environment": {
        "id": 292811013,
        "name": "Dev"
      },
      "content_type": "yum",
      "url": "https://cdn.example.com/rhel/6/os",
      "arch": "x86_64",
      "os_versions": null,
      "content_id": "69",
      "generic_remote_options": null,
      "major": 6,
      "minor": "6Server",
      "product": {
        "id": 1073012828,
        "cp_id": "redhat",
        "name": "Red Hat Linux",
        "orphaned": false,
        "redhat": true,
        "sync_plan": null
      },
      "content_label": "rhel",
      "last_sync_words": null
    }
  ]
}

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

Examples

POST /katello/api/repositories
{
  "name": "Fedora Repository",
  "product_id": 785257261,
  "url": "http://www.google.com",
  "content_type": "yum",
  "unprotected": false,
  "mirroring_policy": "mirror_content_only",
  "repository": {
    "name": "Fedora Repository",
    "url": "http://www.google.com",
    "unprotected": false,
    "content_type": "yum",
    "product_id": 785257261,
    "mirroring_policy": "mirror_content_only"
  }
}
201
{
  "relative_path": "ACME_Corporation/library/fedora_17_unpublished_label",
  "promoted": false,
  "content_view_version_id": 840492357,
  "library_instance_id": null,
  "last_contents_changed": "1970-01-01 00:00:00 UTC",
  "organization_id": 114267492,
  "organization": {
    "name": "Empty Organization",
    "label": "Empty_Organization",
    "id": 114267492
  },
  "created_at": "2022-11-08 19:09:32 UTC",
  "updated_at": "2022-11-08 19:09:32 UTC",
  "backend_identifier": "6",
  "container_repository_name": null,
  "full_path": "https://centos8-katello-devel.area51.example.com/pulp/content/ACME_Corporation/library/fedora_17_unpublished_label/",
  "version_href": null,
  "remote_href": null,
  "publication_href": null,
  "content_counts": {
    "rpm": 0,
    "erratum": 0,
    "package_group": 0,
    "srpm": 0,
    "module_stream": 0
  },
  "mirroring_policy": "mirror_content_only",
  "id": 841753487,
  "name": "Fedora 17 x86_64 unpublished",
  "label": "fedora_17_unpublished_label",
  "description": null,
  "content_view_versions": [],
  "last_sync": null,
  "content_view": {
    "id": 30237652,
    "name": "ACME Default ContentView"
  },
  "content_view_version": {
    "id": 840492357,
    "name": "ACME Default ContentView 1.0",
    "content_view_id": 30237652
  },
  "kt_environment": {
    "id": 562075838,
    "name": "Library"
  },
  "content_type": "yum",
  "url": "http://www.pleaseack.com",
  "arch": "noarch",
  "os_versions": null,
  "content_id": "8374837483743",
  "generic_remote_options": null,
  "major": null,
  "minor": null,
  "product": {
    "id": 785257261,
    "cp_id": "fedora",
    "name": "Fedora",
    "orphaned": false,
    "redhat": false,
    "sync_plan": null
  },
  "content_label": null,
  "last_sync_words": null,
  "environment": {
    "id": 562075838,
    "registry_unauthenticated_pull": false
  },
  "docker_upstream_name": null,
  "docker_tags_whitelist": null,
  "include_tags": null,
  "exclude_tags": null,
  "verify_ssl_on_sync": true,
  "unprotected": true,
  "checksum_type": null,
  "download_policy": "immediate",
  "ansible_collection_requirements": null,
  "ansible_collection_auth_url": null,
  "ansible_collection_auth_token": null,
  "gpg_key_id": 591165711,
  "ssl_ca_cert_id": null,
  "ssl_client_cert_id": null,
  "ssl_client_key_id": null,
  "upstream_username": null,
  "deb_releases": null,
  "deb_components": null,
  "deb_architectures": null,
  "http_proxy_policy": "global_default_http_proxy",
  "http_proxy_id": null,
  "http_proxy_name": null,
  "retain_package_versions_count": null,
  "ignorable_content": null,
  "http_proxy": {
    "id": null,
    "name": null,
    "policy": "global_default_http_proxy"
  },
  "ssl_ca_cert": {
    "id": null,
    "name": null
  },
  "ssl_client_cert": {
    "id": null,
    "name": null
  },
  "ssl_client_key": {
    "id": null,
    "name": null
  },
  "gpg_key": {
    "id": 591165711,
    "name": "Fedora GPG Key"
  },
  "permissions": {
    "deletable": true,
    "deletable_across_cv": true
  },
  "upstream_password_exists": false,
  "upstream_auth_exists": false,
  "content_view_environments": []
}

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

Examples

GET /katello/api/repositories/repository_types
200
[
  {
    "name": "ansible_collection",
    "id": "ansible_collection",
    "creatable": true,
    "pulp3_support": true,
    "generic_remote_options": [],
    "import_attributes": [],
    "url_description": null,
    "content_types": [
      {
        "label": "ansible_collection",
        "generic_browser": true,
        "generic": false,
        "removable": false,
        "uploadable": false,
        "indexed": true
      }
    ]
  },
  {
    "name": "deb",
    "id": "deb",
    "creatable": true,
    "pulp3_support": true,
    "generic_remote_options": [],
    "import_attributes": [],
    "url_description": null,
    "content_types": [
      {
        "label": "deb",
        "generic_browser": null,
        "generic": false,
        "removable": true,
        "uploadable": true,
        "indexed": true
      }
    ]
  },
  {
    "name": "docker",
    "id": "docker",
    "creatable": true,
    "pulp3_support": true,
    "generic_remote_options": [],
    "import_attributes": [],
    "url_description": null,
    "content_types": [
      {
        "label": "docker_manifest",
        "generic_browser": null,
        "generic": false,
        "removable": true,
        "uploadable": true,
        "indexed": true
      },
      {
        "label": "docker_manifest_list",
        "generic_browser": null,
        "generic": false,
        "removable": false,
        "uploadable": false,
        "indexed": true
      },
      {
        "label": "docker_tag",
        "generic_browser": null,
        "generic": false,
        "removable": false,
        "uploadable": false,
        "indexed": true
      },
      {
        "label": "docker_blob",
        "generic_browser": null,
        "generic": false,
        "removable": false,
        "uploadable": false,
        "indexed": false
      }
    ]
  },
  {
    "name": "file",
    "id": "file",
    "creatable": true,
    "pulp3_support": true,
    "generic_remote_options": [],
    "import_attributes": [],
    "url_description": null,
    "content_types": [
      {
        "label": "file",
        "generic_browser": null,
        "generic": false,
        "removable": true,
        "uploadable": true,
        "indexed": true
      }
    ]
  },
  {
    "name": "ostree",
    "id": "ostree",
    "creatable": true,
    "pulp3_support": true,
    "generic_remote_options": [],
    "import_attributes": [
      {
        "name": "ref",
        "api_param": "ostree_ref",
        "type": "String",
        "description": "OSTree ref branch that holds the reference to the last commit",
        "required": false
      },
      {
        "name": "repository_name",
        "api_param": "ostree_repository_name",
        "type": "String",
        "description": "Name of the repository in the ostree archive",
        "required": true
      }
    ],
    "url_description": "URL of an OSTree repository.",
    "content_types": [
      {
        "label": "ostree_ref",
        "generic_browser": true,
        "generic": true,
        "removable": false,
        "uploadable": true,
        "indexed": true,
        "pluralized_label": "ostree_refs",
        "pluralized_name": "OSTree Refs",
        "details_columns": [
          "Name",
          "Version"
        ]
      }
    ]
  },
  {
    "name": "python",
    "id": "python",
    "creatable": true,
    "pulp3_support": true,
    "generic_remote_options": [
      {
        "name": "excludes",
        "title": "Excludes",
        "type": "Array",
        "description": "Python packages to exclude from the upstream URL, names separated by newline. You may also specify versions, for example: django~=2.0.",
        "input_type": "textarea",
        "delimiter": "\\n",
        "default": []
      },
      {
        "name": "includes",
        "title": "Includes",
        "type": "Array",
        "description": "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.",
        "input_type": "textarea",
        "delimiter": "\\n",
        "default": []
      },
      {
        "name": "package_types",
        "title": "Package Types",
        "type": "Array",
        "description": "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.",
        "input_type": "text",
        "delimiter": ",",
        "default": []
      }
    ],
    "import_attributes": [],
    "url_description": "URL of a PyPI content source such as https://pypi.org.",
    "content_types": [
      {
        "label": "python_package",
        "generic_browser": true,
        "generic": true,
        "removable": true,
        "uploadable": true,
        "indexed": true,
        "pluralized_label": "python_packages",
        "pluralized_name": "Python Packages",
        "details_columns": [
          "Name",
          "Version",
          "Filename"
        ]
      }
    ]
  },
  {
    "name": "yum",
    "id": "yum",
    "creatable": true,
    "pulp3_support": true,
    "generic_remote_options": [],
    "import_attributes": [],
    "url_description": null,
    "content_types": [
      {
        "label": "rpm",
        "generic_browser": null,
        "generic": false,
        "removable": true,
        "uploadable": true,
        "indexed": true
      },
      {
        "label": "modulemd",
        "generic_browser": null,
        "generic": false,
        "removable": false,
        "uploadable": false,
        "indexed": true
      },
      {
        "label": "erratum",
        "generic_browser": null,
        "generic": false,
        "removable": false,
        "uploadable": false,
        "indexed": true
      },
      {
        "label": "distribution",
        "generic_browser": null,
        "generic": false,
        "removable": false,
        "uploadable": false,
        "indexed": false
      },
      {
        "label": "package_category",
        "generic_browser": null,
        "generic": false,
        "removable": false,
        "uploadable": false,
        "indexed": false
      },
      {
        "label": "package_group",
        "generic_browser": null,
        "generic": false,
        "removable": false,
        "uploadable": false,
        "indexed": true
      },
      {
        "label": "yum_repo_metadata_file",
        "generic_browser": null,
        "generic": false,
        "removable": false,
        "uploadable": false,
        "indexed": false
      },
      {
        "label": "srpm",
        "generic_browser": null,
        "generic": false,
        "removable": true,
        "uploadable": true,
        "indexed": true
      }
    ]
  }
]

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.

Examples

PUT /katello/api/repositories/841753487/republish
{
  "repository": {}
}
204

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

Examples

GET /katello/api/repositories/841753487
204

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

Examples

POST /katello/api/repositories/643402541/sync
{
  "source_url": "http://www.wikipedia.org",
  "repository": {}
}
202
{
  "id": null,
  "label": null,
  "pending": null,
  "username": null,
  "started_at": null,
  "ended_at": null,
  "state": null,
  "result": null,
  "progress": null,
  "input": null,
  "output": {},
  "humanized": null,
  "cli_example": null,
  "available_actions": {
    "cancellable": null,
    "resumable": null
  }
}

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

Examples

POST /katello/api/repositories/841753487/verify_checksum
{
  "repository": {}
}
202
{
  "id": null,
  "label": null,
  "pending": null,
  "username": null,
  "started_at": null,
  "ended_at": null,
  "state": null,
  "result": null,
  "progress": null,
  "input": null,
  "output": {},
  "humanized": null,
  "cli_example": null,
  "available_actions": {
    "cancellable": null,
    "resumable": null
  }
}

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

Examples

POST /katello/api/repositories/841753487/reclaim_space
{
  "repository": {}
}
202
{
  "id": null,
  "label": null,
  "pending": null,
  "username": null,
  "started_at": null,
  "ended_at": null,
  "state": null,
  "result": null,
  "progress": null,
  "input": null,
  "output": {},
  "humanized": null,
  "cli_example": null,
  "available_actions": {
    "cancellable": null,
    "resumable": null
  }
}

Params

Param name Description
id
required

repository ID

Validations:

  • Must be a number.


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

Examples

PUT /katello/api/repositories/841753487
{
  "repository": {}
}
204

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

Examples

DELETE /katello/api/repositories/841753487
{
  "repository": {}
}
204

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

Examples

PUT /katello/api/repositories/841753487/remove_packages
{
  "ids": [
    "one-uuid"
  ],
  "repository": {}
}
202
{
  "id": null,
  "label": null,
  "pending": true,
  "action": "",
  "username": null,
  "started_at": null,
  "ended_at": null,
  "state": null,
  "result": null,
  "progress": 0,
  "input": null,
  "output": null,
  "humanized": {
    "action": null,
    "input": null,
    "output": null,
    "errors": null
  },
  "cli_example": null,
  "start_at": null,
  "available_actions": {
    "cancellable": null,
    "resumable": false
  }
}

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

Examples

POST /katello/api/repositories/841753487/upload_content
{
  "content": [
    "#<ActionDispatch::Http::UploadedFile:0x00005654cb04ce48>"
  ]
}
200
{
  "status": "success",
  "filenames": [
    "puppet_module.tar.gz"
  ]
}

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

Examples

PUT /katello/api/repositories/84409059/import_uploads
{
  "uploads": [
    {
      "id": "1",
      "size": "12333",
      "checksum": "asf23421324",
      "name": "test"
    }
  ],
  "content_type": "docker_manifest",
  "repository": {
    "content_type": "docker_manifest"
  }
}
202
{
  "id": null,
  "label": null,
  "pending": null,
  "username": null,
  "started_at": null,
  "ended_at": null,
  "state": null,
  "result": null,
  "progress": null,
  "input": null,
  "output": {},
  "humanized": null,
  "cli_example": null,
  "available_actions": {
    "cancellable": null,
    "resumable": null
  }
}

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

Examples

GET /katello/api/repositories/841753487/gpg_key_content
200
ADF#FCSFASDF$@$@ZFDDSG$#%#%ADS

Params

Param name Description
id
required

Validations:

  • Must be a number.


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

Examples

GET /katello/api/repositories/content_types
200
[
  {
    "label": "ansible_collection",
    "generic_browser": true,
    "generic": false,
    "removable": false,
    "uploadable": false,
    "indexed": true
  },
  {
    "label": "deb",
    "generic_browser": null,
    "generic": false,
    "removable": true,
    "uploadable": true,
    "indexed": true
  },
  {
    "label": "docker_manifest",
    "generic_browser": null,
    "generic": false,
    "removable": true,
    "uploadable": true,
    "indexed": true
  },
  {
    "label": "docker_manifest_list",
    "generic_browser": null,
    "generic": false,
    "removable": false,
    "uploadable": false,
    "indexed": true
  },
  {
    "label": "docker_tag",
    "generic_browser": null,
    "generic": false,
    "removable": false,
    "uploadable": false,
    "indexed": true
  },
  {
    "label": "docker_blob",
    "generic_browser": null,
    "generic": false,
    "removable": false,
    "uploadable": false,
    "indexed": false
  },
  {
    "label": "file",
    "generic_browser": null,
    "generic": false,
    "removable": true,
    "uploadable": true,
    "indexed": true
  },
  {
    "label": "ostree_ref",
    "generic_browser": true,
    "generic": true,
    "removable": false,
    "uploadable": true,
    "indexed": true,
    "pluralized_label": "ostree_refs",
    "pluralized_name": "OSTree Refs",
    "details_columns": [
      "Name",
      "Version"
    ]
  },
  {
    "label": "python_package",
    "generic_browser": true,
    "generic": true,
    "removable": true,
    "uploadable": true,
    "indexed": true,
    "pluralized_label": "python_packages",
    "pluralized_name": "Python Packages",
    "details_columns": [
      "Name",
      "Version",
      "Filename"
    ]
  },
  {
    "label": "rpm",
    "generic_browser": null,
    "generic": false,
    "removable": true,
    "uploadable": true,
    "indexed": true
  },
  {
    "label": "modulemd",
    "generic_browser": null,
    "generic": false,
    "removable": false,
    "uploadable": false,
    "indexed": true
  },
  {
    "label": "erratum",
    "generic_browser": null,
    "generic": false,
    "removable": false,
    "uploadable": false,
    "indexed": true
  },
  {
    "label": "distribution",
    "generic_browser": null,
    "generic": false,
    "removable": false,
    "uploadable": false,
    "indexed": false
  },
  {
    "label": "package_category",
    "generic_browser": null,
    "generic": false,
    "removable": false,
    "uploadable": false,
    "indexed": false
  },
  {
    "label": "package_group",
    "generic_browser": null,
    "generic": false,
    "removable": false,
    "uploadable": false,
    "indexed": true
  },
  {
    "label": "yum_repo_metadata_file",
    "generic_browser": null,
    "generic": false,
    "removable": false,
    "uploadable": false,
    "indexed": false
  },
  {
    "label": "srpm",
    "generic_browser": null,
    "generic": false,
    "removable": true,
    "uploadable": true,
    "indexed": true
  }
]