{"components":{"schemas":{"AAPRegistration":{"additionalProperties":false,"properties":{"ansible_callback_url":{"example":"https://aap-gw.example.com/api/controller/v2/job_templates/9/callback/","type":"string"},"host_config_key":{"example":"44d7507f2ead49af5fca80aa18fd24bc","type":"string"},"skip_tls_verification":{"description":"When true, indicates the user has confirmed that HTTPS callback URL does not require a CA certificate for verification","type":"boolean"},"tls_certificate_authority":{"type":"string","x-go-type-skip-optional-pointer":true}},"required":["ansible_callback_url","host_config_key"],"type":"object","x-go-name":"AAPRegistration"},"AWSS3UploadRequestOptions":{"type":"object"},"AWSS3UploadStatus":{"properties":{"url":{"type":"string"}},"required":["url"],"type":"object"},"AWSUploadRequestOptions":{"properties":{"share_with_accounts":{"example":["123456789012"],"items":{"type":"string"},"type":"array","uniqueItems":true},"share_with_sources":{"example":["12345"],"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"AWSUploadStatus":{"properties":{"ami":{"example":"ami-0c830793775595d4b","type":"string"},"region":{"example":"eu-west-1","type":"string"}},"required":["ami","region"],"type":"object"},"ArchitectureInfo":{"description":"Architecture metadata from images library","properties":{"image_types":{"additionalProperties":{"$ref":"#/components/schemas/ImageTypeInfo"},"description":"Map of image type names to their details","type":"object"},"name":{"description":"Architecture name","example":"x86_64","type":"string"}},"required":["name"],"type":"object","x-go-type":"composer.ArchitectureInfo"},"ArchitectureItem":{"properties":{"arch":{"example":"x86_64","type":"string"},"image_types":{"items":{"example":"qcow2","type":"string"},"type":"array"},"repositories":{"description":"Base repositories for the given distribution and architecture.","items":{"$ref":"#/components/schemas/Repository"},"type":"array"}},"required":["arch","image_types","repositories"],"type":"object"},"Architectures":{"items":{"$ref":"#/components/schemas/ArchitectureItem"},"type":"array"},"AzureUploadRequestOptions":{"properties":{"hyper_v_generation":{"default":"V1","description":"Choose the VM Image HyperV generation, different features on Azure are available\ndepending on the HyperV generation.\n","enum":["V1","V2"],"type":"string"},"image_name":{"description":"Name of the created image.\nMust begin with a letter or number, end with a letter, number or underscore, and may contain only letters, numbers, underscores, periods, or hyphens.\nThe total length is limited to 60 characters.\n","example":"LinuxImage","maxLength":60,"minLength":1,"pattern":"(^[a-zA-Z0-9]$)|(^[a-zA-Z0-9][a-zA-Z0-9_\\.-]*[a-zA-Z0-9_]$)","type":"string"},"resource_group":{"description":"Name of the resource group where the image should be uploaded.\n","example":"ToucanResourceGroup","type":"string"},"subscription_id":{"description":"ID of subscription where the image should be uploaded.\n","example":"4e5d8b2c-ab24-4413-90c5-612306e809e2","type":"string"},"tenant_id":{"description":"ID of the tenant where the image should be uploaded. This link explains how\nto find it in the Azure Portal:\nhttps://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-how-to-find-tenant\n","example":"5c7ef5b6-1c3f-4da0-a622-0b060239d7d7","type":"string"}},"required":["resource_group"],"type":"object"},"AzureUploadStatus":{"properties":{"image_name":{"example":"my-image","type":"string"}},"required":["image_name"],"type":"object"},"BlueprintExportResponse":{"properties":{"bootc":{"$ref":"#/components/schemas/BootcBody"},"content_sources":{"additionalProperties":true,"description":"List of custom repositories including all the repository details needed in order\nto recreate the repositories.\n","items":{"type":"object"},"type":"array"},"customizations":{"$ref":"#/components/schemas/Customizations"},"description":{"type":"string"},"distribution":{"$ref":"#/components/schemas/Distributions"},"metadata":{"$ref":"#/components/schemas/BlueprintMetadata"},"name":{"type":"string"},"snapshot_date":{"description":"Importing the snapshot date will not yet be supported. It is exported for informative reasons.\nThe format is RFC3339 e.g. \"2025-11-26T00:00:00.000Z\".\n","type":"string"}},"required":["name","description","customizations","metadata"]},"BlueprintItem":{"properties":{"description":{"type":"string"},"id":{"format":"uuid","type":"string"},"last_modified_at":{"type":"string"},"name":{"type":"string"},"version":{"type":"integer"}},"required":["id","version","name","description","last_modified_at"]},"BlueprintLint":{"description":"Linting errors and warnings in the current blueprint. Errors might need to be resolved before the\nblueprint can be used to build images again. Warnings provide information about policy changes.\n","properties":{"errors":{"items":{"$ref":"#/components/schemas/BlueprintLintItem"},"type":"array"},"warnings":{"items":{"$ref":"#/components/schemas/BlueprintLintItem"},"type":"array"}},"required":["errors","warnings"]},"BlueprintLintItem":{"properties":{"description":{"example":"package a required by policy is not present","type":"string"},"name":{"example":"Compliance","type":"string"}},"required":["name","description"],"type":"object"},"BlueprintMetadata":{"properties":{"exported_at":{"type":"string"},"is_on_prem":{"default":false,"type":"boolean"},"parent_id":{"format":"uuid","nullable":true,"type":"string"}},"required":["parent_id","exported_at","is_on_prem"]},"BlueprintResponse":{"properties":{"bootc":{"$ref":"#/components/schemas/BootcBody"},"customizations":{"$ref":"#/components/schemas/Customizations"},"description":{"type":"string"},"distribution":{"$ref":"#/components/schemas/Distributions"},"id":{"format":"uuid","type":"string"},"image_requests":{"description":"Array of image requests. Having more image requests in a single blueprint is currently not supported.\n","items":{"$ref":"#/components/schemas/ImageRequest"},"minItems":1,"type":"array","uniqueItems":true},"lint":{"$ref":"#/components/schemas/BlueprintLint"},"name":{"type":"string"}},"required":["id","name","description","lint","image_requests","customizations"]},"BlueprintsResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/BlueprintItem"},"type":"array"},"links":{"$ref":"#/components/schemas/ListResponseLinks"},"meta":{"$ref":"#/components/schemas/ListResponseMeta"}},"required":["meta","links","data"]},"BootMode":{"enum":["legacy","uefi","hybrid","none"],"type":"string","x-go-type":"composer.ImageTypeInfoBootMode"},"BootcBody":{"description":"Bootc/Image Mode compose parameters. When present, the compose builds from the\nspecified bootc base image instead of the classic package-based flow.\n","properties":{"iso_payload_reference":{"description":"Optional container image reference for a payload container to embed\nin the ISO. When set, the payload container is available at\ninstall/boot time. Only valid for bootable-container-iso image type.\nMust be one of the references listed in the distribution's bootc\nconfiguration.\n","type":"string"},"reference":{"description":"Image name from the bootc distributions list. Must match a reference\nreturned by GET /distributions?kind=bootc.\n","example":"quay.io/redhat-services-prod/insights-management-tenant/image-builder-bootc-foundry/rhel-10-ec2:latest","type":"string"}},"required":["reference"],"type":"object"},"BootcDistributionItem":{"properties":{"arch":{"example":"x86_64","type":"string"},"distro":{"example":"rhel-10.0","type":"string"},"iso_payload_references":{"description":"List of allowed payload container references for\nbootable-container-iso image type. Only present for\nbootable-container-iso entries.\n","example":["quay.io/redhat-services-prod/insights-management-tenant/image-builder-bootc-foundry/rhel-10-qcow2:latest","quay.io/redhat-services-prod/insights-management-tenant/image-builder-bootc-foundry/rhel-10-ec2:latest"],"items":{"type":"string"},"type":"array"},"name":{"example":"Red Hat Enterprise Linux 10.0","type":"string"},"reference":{"description":"Derived container image reference, only references listed in the bootc distributions list are allowed.","example":"quay.io/redhat-services-prod/insights-management-tenant/image-builder-bootc-foundry/rhel-10.1-qcow2:latest","type":"string"},"type":{"example":"aws","type":"string"}},"required":["distro","name","type","arch","reference"],"type":"object"},"BtrfsSubvolume":{"properties":{"mountpoint":{"description":"Mountpoint for the subvolume\n","type":"string"},"name":{"description":"The name of the subvolume, which defines the location (path) on the root volume\n","type":"string"}},"required":["name","mountpoint"],"type":"object","x-go-type":"composer.BtrfsSubvolume"},"BtrfsVolume":{"properties":{"minsize":{"$ref":"#/components/schemas/minsize"},"part_type":{"description":"The partition type GUID for GPT partitions. For DOS partitions, this field can be used to set the (2 hex digit) partition type. If not set, the type will be automatically set based on the mountpoint or the payload type.\n","type":"string"},"subvolumes":{"items":{"$ref":"#/components/schemas/BtrfsSubvolume"},"type":"array"},"type":{"enum":["btrfs"],"type":"string"}},"required":["type","subvolumes"],"type":"object","x-go-type":"composer.BtrfsVolume"},"CACertsCustomization":{"additionalProperties":false,"properties":{"pem_certs":{"example":["---BEGIN CERTIFICATE---\\nMIIC0DCCAbigAwIBAgIUI...\\n---END CERTIFICATE---"],"items":{"type":"string"},"type":"array"}},"required":["pem_certs"],"type":"object"},"ClientId":{"default":"api","enum":["api","ui","mcp"],"type":"string"},"ComposeMetadata":{"properties":{"ostree_commit":{"description":"ID (hash) of the built commit","type":"string"},"packages":{"description":"Package list including NEVRA","items":{"$ref":"#/components/schemas/PackageMetadata"},"type":"array"}},"type":"object"},"ComposeRequest":{"additionalProperties":false,"properties":{"bootc":{"$ref":"#/components/schemas/BootcBody"},"client_id":{"$ref":"#/components/schemas/ClientId"},"customizations":{"$ref":"#/components/schemas/Customizations"},"distribution":{"$ref":"#/components/schemas/Distributions"},"image_description":{"example":"MyImageDescription","maxLength":250,"type":"string"},"image_name":{"example":"MyImageName","maxLength":100,"type":"string"},"image_requests":{"description":"Array of exactly one image request. Having more image requests in one compose is currently not supported.\n","items":{"$ref":"#/components/schemas/ImageRequest"},"maxItems":1,"minItems":1,"type":"array","uniqueItems":true}},"required":["image_requests"],"type":"object"},"ComposeResponse":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"]},"ComposeStatus":{"properties":{"image_status":{"$ref":"#/components/schemas/ImageStatus"},"request":{"$ref":"#/components/schemas/ComposeRequest"}},"required":["image_status","request"]},"ComposeStatusError":{"properties":{"details":{},"id":{"type":"integer"},"reason":{"type":"string"}},"required":["id","reason"]},"ComposesResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ComposesResponseItem"},"type":"array"},"links":{"$ref":"#/components/schemas/ListResponseLinks"},"meta":{"$ref":"#/components/schemas/ListResponseMeta"}},"required":["meta","links","data"]},"ComposesResponseItem":{"properties":{"blueprint_id":{"format":"uuid","nullable":true,"type":"string"},"blueprint_version":{"nullable":true,"type":"integer"},"client_id":{"$ref":"#/components/schemas/ClientId"},"created_at":{"type":"string"},"id":{"format":"uuid","type":"string"},"image_name":{"type":"string"},"request":{"$ref":"#/components/schemas/ComposeRequest"}},"required":["id","request","created_at"]},"Container":{"properties":{"name":{"description":"Name to use for the container from the image","type":"string"},"source":{"description":"Reference to the container to embed","example":"registry.example.com/image:tag","type":"string"},"tls_verify":{"description":"Control TLS verifification","example":true,"type":"boolean"}},"required":["source"],"type":"object"},"CreateBlueprintRequest":{"additionalProperties":false,"properties":{"bootc":{"$ref":"#/components/schemas/BootcBody"},"customizations":{"$ref":"#/components/schemas/Customizations"},"description":{"example":"My blueprint description","maxLength":250,"type":"string"},"distribution":{"$ref":"#/components/schemas/Distributions"},"image_requests":{"description":"Array of image requests. Having more image requests in a single blueprint is currently not supported.\n","items":{"$ref":"#/components/schemas/ImageRequest"},"minItems":1,"type":"array","uniqueItems":true},"metadata":{"$ref":"#/components/schemas/BlueprintMetadata"},"name":{"example":"My Blueprint","maxLength":100,"type":"string"}},"required":["name","image_requests","customizations"],"type":"object"},"CreateBlueprintResponse":{"properties":{"id":{"format":"uuid","type":"string"}},"required":["id"]},"CustomRepository":{"description":"Repository configuration for custom repositories.\nAt least one of the 'baseurl', 'mirrorlist', 'metalink' properties must\nbe specified. If more of them are specified, the order of precedence is\nthe same as listed above. Id is required.\n","properties":{"baseurl":{"example":["https://cdn.redhat.com/content/dist/rhel8/8/x86_64/baseos/os/"],"items":{"format":"uri","type":"string"},"type":"array"},"check_gpg":{"type":"boolean"},"check_repo_gpg":{"type":"boolean"},"enabled":{"type":"boolean"},"filename":{"type":"string"},"gpgkey":{"description":"GPG key used to sign packages in this repository. Can be a gpg key or a URL","example":["-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGAcScoBEADLf8YHkezJ6adlMYw7aGGIlJalt8Jj2x/B2K+hIfIuxGtpVj7e\nLRgDU76jaT5pVD5mFMJ3pkeneR/cTmqqQkNyQshX2oQXwEzUSb1CNMCfCGgkX8Q2\nzZkrIcCrF0Q2wrKblaudhU+iVanADsm18YEqsb5AU37dtUrM3QYdWg9R+XiPfV8R\nKBjT03vVBOdMSsY39LaCn6Ip1Ovp8IEo/IeEVY1qmCOPAaK0bJH3ufg4Cueks+TS\nwQWTeCLxuZL6OMXoOPKwvMQfxbg1XD8vuZ0Ktj/cNH2xau0xmsAu9HJpekvOPRxl\nyqtjyZfroVieFypwZgvQwtnnM8/gSEu/JVTrY052mEUT7Ccb74kcHFTFfMklnkG/\n0fU4ARa504H3xj0ktbe3vKcPXoPOuKBVsHSv00UGYAyPeuy+87cU/YEhM7k3SVKj\n6eIZgyiMO0wl1YGDRKculwks9A+ulkg1oTb4s3zmZvP07GoTxW42jaK5WS+NhZee\n860XoVhbc1KpS+jfZojsrEtZ8PbUZ+YvF8RprdWArjHbJk2JpRKAxThxsQAsBhG1\n0Lux2WaMB0g2I5PcMdJ/cqjo08ccrjBXuixWri5iu9MXp8qT/fSzNmsdIgn8/qZK\ni8Qulfu77uqhW/wt2btnitgRsqjhxMujYU4Zb4hktF8hKU/XX742qhL5KwARAQAB\ntDFGZWRvcmEgKDM1KSA8ZmVkb3JhLTM1LXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQJOBBMBCAA4FiEEeH6mrhFH7uVsQLMM20Y5cZhnxY8FAmAcScoCGw8FCwkI\nBwIGFQoJCAsCBBYCAwECHgECF4AACgkQ20Y5cZhnxY+NYA/7BYpglySAZYHhjyKh\n/+f6zPfVvbH20Eq3kI7OFBN0nLX+BU1muvS+qTuS3WLrB3m3GultpKREJKLtm5ED\n1rGzXAoT1yp9YI8LADdMCCOyjAjsoWU87YUuC+/bnjrTeR2LROCfyPC76W985iOV\nm5S+bsQDw7C2LrldAM4MDuoyZ1SitGaZ4KQLVt+TEa14isYSGCjzo7PY8V3JOk50\ngqWg82N/bm2EzS7T83WEDb1lvj4IlvxgIqKeg11zXYxmrYSZJJCfvzf+lNS6uxgH\njx/J0ylZ2LibGr6GAAyO9UWrAZSwSM0EcjT8wECnxkSDuyqmWwVvNBXuEIV8Oe3Y\nMiU1fJN8sd7DpsFx5M+XdnMnQS+HrjTPKD3mWrlAdnEThdYV8jZkpWhDys3/99eO\nhk0rLny0jNwkauf/iU8Oc6XvMkjLRMJg5U9VKyJuWWtzwXnjMN5WRFBqK4sZomMM\nftbTH1+5ybRW/A3vBbaxRW2t7UzNjczekSZEiaLN9L/HcJCIR1QF8682DdAlEF9d\nk2gQiYSQAaaJ0JJAzHvRkRJLLgK2YQYiHNVy2t3JyFfsram5wSCWOfhPeIyLBTZJ\nvrpNlPbefsT957Tf2BNIugzZrC5VxDSKkZgRh1VGvSIQnCyzkQy6EU2qPpiW59G/\nhPIXZrKocK3KLS9/izJQTRltjMA=\n=PfT7\n-----END PGP PUBLIC KEY BLOCK-----\n"],"items":{"type":"string"},"type":"array"},"id":{"type":"string"},"metalink":{"example":"https://mirrors.fedoraproject.org/metalink?repo=fedora-32\u0026arch=x86_64","format":"uri","type":"string"},"mirrorlist":{"example":"http://mirrorlist.centos.org/?release=9-stream\u0026arch=aarch64\u0026repo=BaseOS","format":"uri","type":"string"},"module_hotfixes":{"type":"boolean"},"name":{"type":"string"},"priority":{"type":"integer"},"ssl_verify":{"type":"boolean"}},"required":["id"],"type":"object"},"Customizations":{"properties":{"aap_registration":{"$ref":"#/components/schemas/AAPRegistration"},"cacerts":{"$ref":"#/components/schemas/CACertsCustomization"},"containers":{"items":{"$ref":"#/components/schemas/Container"},"type":"array"},"custom_repositories":{"description":"List of custom repositories.","items":{"$ref":"#/components/schemas/CustomRepository"},"type":"array"},"directories":{"items":{"$ref":"#/components/schemas/Directory"},"type":"array"},"disk":{"$ref":"#/components/schemas/Disk"},"enabled_modules":{"description":"List of dnf modules to enable, so that packages can be installed from them.\n","items":{"$ref":"#/components/schemas/Module"},"type":"array"},"fdo":{"$ref":"#/components/schemas/FDO"},"files":{"items":{"$ref":"#/components/schemas/File"},"type":"array"},"filesystem":{"items":{"$ref":"#/components/schemas/Filesystem"},"maxItems":128,"type":"array"},"fips":{"$ref":"#/components/schemas/FIPS"},"firewall":{"$ref":"#/components/schemas/FirewallCustomization"},"groups":{"description":"List of groups to create","items":{"$ref":"#/components/schemas/Group"},"type":"array"},"hostname":{"description":"Configures the hostname","example":"myhostname","type":"string"},"ignition":{"$ref":"#/components/schemas/Ignition"},"installation_device":{"description":"Name of the installation device, currently only useful for the edge-simplified-installer type\n","example":"/dev/sda","type":"string"},"installer":{"$ref":"#/components/schemas/Installer"},"kernel":{"$ref":"#/components/schemas/Kernel"},"locale":{"$ref":"#/components/schemas/Locale"},"openscap":{"$ref":"#/components/schemas/OpenSCAP"},"packages":{"example":["postgresql"],"items":{"type":"string"},"maxItems":10000,"type":"array"},"partitioning_mode":{"description":"Select how the disk image will be partitioned. 'auto-lvm' will use raw unless\nthere are one or more mountpoints in which case it will use LVM. 'lvm' always\nuses LVM, even when there are no extra mountpoints. 'raw' uses raw partitions\neven when there are one or more mountpoints.\n","enum":["raw","lvm","auto-lvm"],"type":"string"},"payload_repositories":{"items":{"$ref":"#/components/schemas/Repository"},"type":"array"},"services":{"$ref":"#/components/schemas/Services"},"subscription":{"$ref":"#/components/schemas/Subscription"},"timezone":{"$ref":"#/components/schemas/Timezone"},"users":{"description":"List of users that a customer can add,\nalso specifying their respective groups and SSH keys and/or password\n","items":{"$ref":"#/components/schemas/User"},"type":"array"}},"type":"object"},"Directory":{"description":"A custom directory to create in the final artifact.\n","properties":{"ensure_parents":{"default":false,"description":"Ensure that the parent directories exist","type":"boolean"},"group":{"description":"Group of the directory as a group name or a gid","example":"root","oneOf":[{"type":"string"},{"type":"integer","x-go-type":"int64"}]},"mode":{"description":"Permissions string for the directory in octal format","example":"0755","type":"string"},"path":{"description":"Path to the directory","example":"/etc/mydir","type":"string"},"user":{"description":"Owner of the directory as a user name or a uid","example":"root","oneOf":[{"type":"string"},{"type":"integer","x-go-type":"int64"}]}},"required":["path"],"type":"object"},"Disk":{"properties":{"minsize":{"$ref":"#/components/schemas/minsize"},"partitions":{"items":{"$ref":"#/components/schemas/Partition"},"type":"array"},"type":{"description":"Type of the partition table\n","enum":["gpt","dos"],"type":"string"}},"required":["partitions"],"type":"object","x-go-type":"composer.Disk"},"DistributionDetails":{"description":"Complete metadata for a specific distribution from images library","properties":{"architectures":{"additionalProperties":{"$ref":"#/components/schemas/ArchitectureInfo"},"description":"Map of architecture names to their details","type":"object"},"codename":{"description":"Codename of the distribution","example":"","type":"string"},"module_platform_id":{"description":"Module platform ID for DNF modularity","example":"platform:el9","type":"string"},"name":{"description":"Name of the distribution","example":"rhel-9.6","type":"string"},"os_version":{"description":"Full OS version including minor version","example":"9.6","type":"string"},"ostree_ref":{"description":"Default OSTree reference template","example":"rhel/9/%s/edge","type":"string"},"product":{"description":"Product name","example":"Red Hat Enterprise Linux","type":"string"},"releasever":{"description":"Release version used in repo files","example":"9","type":"string"}},"required":["name"],"type":"object"},"DistributionItem":{"properties":{"description":{"example":"Red Hat Enterprise Linux (RHEL) 8.4","type":"string"},"name":{"example":"rhel-84","type":"string"}},"required":["name","description"],"type":"object"},"DistributionKind":{"description":"Kind of distributions to return.","enum":["bootc"],"type":"string"},"DistributionProfileItem":{"enum":["xccdf_org.ssgproject.content_profile_anssi_bp28_enhanced","xccdf_org.ssgproject.content_profile_anssi_bp28_high","xccdf_org.ssgproject.content_profile_anssi_bp28_intermediary","xccdf_org.ssgproject.content_profile_anssi_bp28_minimal","xccdf_org.ssgproject.content_profile_ccn_advanced","xccdf_org.ssgproject.content_profile_ccn_basic","xccdf_org.ssgproject.content_profile_ccn_intermediate","xccdf_org.ssgproject.content_profile_cis","xccdf_org.ssgproject.content_profile_cis_server_l1","xccdf_org.ssgproject.content_profile_cis_workstation_l1","xccdf_org.ssgproject.content_profile_cis_workstation_l2","xccdf_org.ssgproject.content_profile_cui","xccdf_org.ssgproject.content_profile_e8","xccdf_org.ssgproject.content_profile_hipaa","xccdf_org.ssgproject.content_profile_ism_o","xccdf_org.ssgproject.content_profile_ospp","xccdf_org.ssgproject.content_profile_pci-dss","xccdf_org.ssgproject.content_profile_standard","xccdf_org.ssgproject.content_profile_stig","xccdf_org.ssgproject.content_profile_stig_gui"],"type":"string"},"DistributionProfileResponse":{"description":"List of profiles for a given distribution\n","items":{"$ref":"#/components/schemas/DistributionProfileItem"},"type":"array"},"Distributions":{"description":"List of all distributions that image builder supports. A user might not have access to\nrestricted distributions.\n\nRestricted distributions include the RHEL nightlies and the Fedora distributions.\n","enum":["rhel-8","rhel-8-nightly","rhel-84","rhel-85","rhel-86","rhel-87","rhel-88","rhel-89","rhel-8.10","rhel-9","rhel-9-nightly","rhel-9.6-nightly","rhel-9.7-nightly","rhel-9.8-nightly","rhel-9.9-nightly","rhel-9-beta","rhel-90","rhel-91","rhel-92","rhel-93","rhel-94","rhel-95","rhel-9.6","rhel-9.7","rhel-10","rhel-10-nightly","rhel-10.0-nightly","rhel-10.1-nightly","rhel-10.2-nightly","rhel-10.3-nightly","rhel-10-beta","rhel-10.0","rhel-10.1","centos-9","centos-10","fedora-37","fedora-38","fedora-39","fedora-40","fedora-41","fedora-42","fedora-43","fedora-44","hummingbird"],"type":"string"},"DistributionsResponse":{"description":"List of distributions this user is allowed to build.\n","items":{"oneOf":[{"$ref":"#/components/schemas/DistributionItem"},{"$ref":"#/components/schemas/BootcDistributionItem"}]},"type":"array"},"FDO":{"additionalProperties":false,"description":"FIDO device onboard configuration","properties":{"diun_pub_key_hash":{"type":"string"},"diun_pub_key_insecure":{"type":"string"},"diun_pub_key_root_certs":{"type":"string"},"manufacturing_server_url":{"type":"string"}},"type":"object"},"FIPS":{"additionalProperties":false,"description":"System FIPS mode setup","properties":{"enabled":{"default":false,"description":"Enables the system FIPS mode","type":"boolean"}},"type":"object"},"File":{"description":"A custom file to create in the final artifact.\n","properties":{"data":{"description":"Contents of the file as plain text","type":"string"},"data_encoding":{"default":"plain","description":"When data is base64-encoded to prevent Akamai content filter false positives","enum":["plain","base64"],"type":"string"},"ensure_parents":{"default":false,"description":"Ensure that the parent directories exist","example":true,"type":"boolean"},"group":{"description":"Group of the file as a gid or a group name","example":"root","oneOf":[{"type":"string"},{"type":"integer","x-go-type":"int64"}]},"mode":{"description":"Permissions string for the file in octal format","example":"0644","type":"string"},"path":{"description":"Path to the file","example":"/etc/myfile","type":"string"},"user":{"description":"Owner of the file as a uid or a user name","example":"root","oneOf":[{"type":"string"},{"type":"integer","x-go-type":"int64"}]}},"required":["path"],"type":"object"},"Filesystem":{"properties":{"min_size":{"description":"size of the filesystem in bytes","example":2147483648,"x-go-type":"uint64"},"mountpoint":{"example":"/var","type":"string"}},"required":["mountpoint","min_size"],"type":"object"},"FilesystemTyped":{"properties":{"fs_type":{"description":"The filesystem type. Swap partitions must have an empty mountpoint.\n","enum":["ext4","xfs","vfat","swap"],"type":"string"},"label":{"type":"string"},"minsize":{"$ref":"#/components/schemas/minsize"},"mountpoint":{"type":"string"},"part_type":{"description":"The partition type GUID for GPT partitions. For DOS partitions, this field can be used to set the (2 hex digit) partition type. If not set, the type will be automatically set based on the mountpoint or the payload type.\n","type":"string"},"type":{"enum":["plain"],"type":"string"}},"required":["fs_type"],"type":"object","x-go-type":"composer.FilesystemTyped"},"FirewallCustomization":{"additionalProperties":false,"description":"Firewalld configuration","properties":{"ports":{"description":"List of ports (or port ranges) and protocols to open","example":["22:tcp","80:tcp","imap:tcp"],"items":{"type":"string"},"type":"array"},"services":{"additionalProperties":false,"description":"Firewalld services to enable or disable","properties":{"disabled":{"description":"List of services to disable","example":["telnet"],"items":{"type":"string"},"type":"array"},"enabled":{"description":"List of services to enable","example":["ftp","ntp"],"items":{"type":"string"},"type":"array"}},"type":"object"}},"type":"object"},"GCPUploadRequestOptions":{"properties":{"share_with_accounts":{"description":"List of valid Google accounts to share the imported Compute Node image with.\nEach string must contain a specifier of the account type. Valid formats are:\n  - 'user:{emailid}': An email address that represents a specific\n    Google account. For example, 'alice@example.com'.\n  - 'serviceAccount:{emailid}': An email address that represents a\n    service account. For example, 'my-other-app@appspot.gserviceaccount.com'.\n  - 'group:{emailid}': An email address that represents a Google group.\n    For example, 'admins@example.com'.\n  - 'domain:{domain}': The G Suite domain (primary) that represents all\n    the users of that domain. For example, 'google.com' or 'example.com'.\n    If not specified, the imported Compute Node image is not shared with any\n    account.\n","example":["user:alice@example.com","serviceAccount:my-other-app@appspot.gserviceaccount.com","group:admins@example.com","domain:example.com"],"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"GCPUploadStatus":{"properties":{"image_name":{"example":"my-image","type":"string"},"project_id":{"example":"ascendant-braid-303513","type":"string"}},"required":["project_id","image_name"],"type":"object"},"Group":{"additionalProperties":false,"properties":{"gid":{"description":"Group id of the group to create (optional)","type":"integer"},"name":{"description":"Name of the group to create","type":"string"}},"required":["name"],"type":"object"},"HTTPError":{"properties":{"detail":{"type":"string"},"title":{"type":"string"}},"required":["title","detail"]},"HTTPErrorList":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/HTTPError"},"type":"array"}},"required":["errors"]},"Ignition":{"additionalProperties":false,"description":"Ignition configuration","properties":{"embedded":{"$ref":"#/components/schemas/IgnitionEmbedded"},"firstboot":{"$ref":"#/components/schemas/IgnitionFirstboot"}},"type":"object"},"IgnitionEmbedded":{"additionalProperties":false,"properties":{"config":{"type":"string"}},"required":["config"],"type":"object"},"IgnitionFirstboot":{"additionalProperties":false,"properties":{"url":{"description":"Provisioning URL","type":"string"}},"required":["url"],"type":"object"},"ImageRequest":{"additionalProperties":false,"properties":{"architecture":{"description":"CPU architecture of the image, x86_64 and aarch64 are currently supported.\n","enum":["x86_64","aarch64"],"type":"string"},"content_template":{"description":"ID of the content template. A content template and snapshot date cannot both be specified.\nIf a content template is specified, the snapshot date used will be the one from the content template.\n","type":"string"},"content_template_name":{"description":"Name of the content template. Used when registering the system to Insights.\n","type":"string"},"image_type":{"$ref":"#/components/schemas/ImageTypes"},"ostree":{"$ref":"#/components/schemas/OSTree"},"size":{"description":"Size of image, in bytes. When set to 0 the image size is a minimum\ndefined by the image type.\n","example":4294967296,"x-go-type":"uint64"},"snapshot_date":{"description":"Snapshotted content will be used instead of the official repositories of the\ndistribution. The snapshot that was made closest to, but before the specified date will\nbe used. If no snapshots made before the specified date can be found, the snapshot\nclosest to, but after the specified date will be used. If no snapshots can be found at\nall, the request will fail. The format must be RFC3339 e.g. \"2025-11-26T00:00:00.000Z\".\n","type":"string"},"upload_request":{"$ref":"#/components/schemas/UploadRequest"}},"required":["architecture","image_type","upload_request"],"type":"object"},"ImageStatus":{"properties":{"error":{"$ref":"#/components/schemas/ComposeStatusError"},"progress":{"$ref":"#/components/schemas/Progress"},"status":{"enum":["success","failure","pending","building","uploading","registering"],"example":"success","type":"string"},"upload_status":{"$ref":"#/components/schemas/UploadStatus"}},"required":["status"]},"ImageTypeInfo":{"description":"Image type metadata from images library","properties":{"aliases":{"description":"Alternative names for this image type","items":{"example":"aws","type":"string"},"type":"array"},"base_partition_table":{"$ref":"#/components/schemas/Disk"},"boot_mode":{"$ref":"#/components/schemas/BootMode"},"default_size":{"description":"Default image size in bytes","example":1073741824,"format":"uint64","type":"integer"},"exports":{"description":"Names of stages that produce the build output","items":{"example":"image","type":"string"},"type":"array"},"filename":{"description":"Canonical filename for the image","example":"image.raw","type":"string"},"iso_label":{"description":"ISO label (only for ISO image types)","type":"string"},"mime_type":{"description":"MIME type of the image","example":"application/octet-stream","type":"string"},"name":{"description":"Image type name","example":"ami","type":"string"},"ostree_ref":{"description":"Default OSTree ref for this image type","type":"string"},"partition_type":{"$ref":"#/components/schemas/PartitionType"},"payload_package_sets":{"description":"Package set names safe for custom packages via custom repos","items":{"example":"blueprint","type":"string"},"type":"array"},"required_blueprint_options":{"description":"Customization options required by this image type","items":{"type":"string"},"type":"array"},"supported_blueprint_options":{"description":"Customization options supported by this image type","example":["distro","packages","customizations.cacerts","customizations.sshkey"],"items":{"type":"string"},"type":"array"}},"required":["name"],"type":"object","x-go-type":"composer.ImageTypeInfo"},"ImageTypes":{"enum":["aws","azure","bootable-container-iso","edge-commit","edge-installer","gcp","guest-image","image-installer","network-installer","oci","pxe-tar-xz","vsphere","vsphere-ova","wsl","ami","rhel-edge-commit","rhel-edge-installer","vhd"],"type":"string"},"Installer":{"additionalProperties":false,"description":"Anaconda installer configuration","properties":{"sudo-nopasswd":{"items":{"description":"Enable passwordless sudo for users or groups (groups must be prefixed by %)\n","type":"string"},"type":"array"},"unattended":{"description":"Create a kickstart file for a fully automated installation\n","type":"boolean"}},"type":"object"},"Kernel":{"additionalProperties":false,"properties":{"append":{"description":"Appends arguments to the bootloader kernel command line","example":"nosmt=force","type":"string"},"name":{"description":"Name of the kernel to use","example":"kernel-debug","type":"string"}},"type":"object"},"ListResponseLinks":{"properties":{"first":{"type":"string"},"last":{"type":"string"}},"required":["first","last"],"type":"object"},"ListResponseMeta":{"properties":{"count":{"type":"integer"}},"required":["count"],"type":"object"},"Locale":{"additionalProperties":false,"description":"Locale configuration","properties":{"keyboard":{"description":"Sets the keyboard layout","example":"us","type":"string"},"languages":{"description":"List of locales to be installed, the first one becomes primary, subsequent ones are secondary\n","example":["en_US.UTF-8"],"items":{"type":"string"},"type":"array"}},"type":"object"},"LogicalVolume":{"properties":{"fs_type":{"description":"The filesystem type for the logical volume. Swap LVs must have an empty mountpoint.\n","enum":["ext4","xfs","vfat","swap"],"type":"string"},"label":{"type":"string"},"minsize":{"$ref":"#/components/schemas/minsize"},"mountpoint":{"description":"Mountpoint for the logical volume\n","type":"string"},"name":{"type":"string"}},"required":["fs_type"],"type":"object","x-go-type":"composer.LogicalVolume"},"Module":{"additionalProperties":false,"properties":{"name":{"description":"Name of the module to enable.\n","example":"nodejs","type":"string"},"stream":{"description":"Stream to enable.\n","example":"22","type":"string"}},"required":["name","stream"],"type":"object"},"OCIUploadRequestOptions":{"type":"object"},"OCIUploadStatus":{"properties":{"url":{"type":"string"}},"required":["url"],"type":"object"},"OSTree":{"properties":{"contenturl":{"description":"A URL which, if set, is used for fetching content. Implies that `url` is set as well,\nwhich will be used for metadata only.\n","type":"string"},"parent":{"description":"Can be either a commit (example: 02604b2da6e954bd34b8b82a835e5a77d2b60ffa), or a branch-like reference (example: rhel/8/x86_64/edge)\n","example":"rhel/8/x86_64/edge","type":"string"},"ref":{"example":"rhel/8/x86_64/edge","type":"string"},"rhsm":{"description":"Determines whether a valid subscription manager (candlepin) identity is required to\naccess this repository. Consumer certificates will be used as client certificates when\n fetching metadata and content.\n","type":"boolean"},"url":{"type":"string"}},"type":"object"},"OpenSCAP":{"oneOf":[{"$ref":"#/components/schemas/OpenSCAPProfile"},{"$ref":"#/components/schemas/OpenSCAPCompliance"}]},"OpenSCAPCompliance":{"properties":{"policy_id":{"description":"Apply a compliance policy which is defined in the Red Hat Insights Compliance\nservice. This policy can include tailorings. This only works for RHEL images, and the\npolicy needs to be available for the specific RHEL version.\n","example":"fef25b3c-b970-46da-a4e1-cc4d855b98dc","format":"uuid","type":"string"}},"required":["policy_id"],"type":"object"},"OpenSCAPProfile":{"properties":{"profile_description":{"description":"The longform profile description","type":"string"},"profile_id":{"description":"Uses the OpenSCAP tooling directly to apply a pre-defined profile without tailorings.\n","example":"xccdf_org.ssgproject.content_profile_cis","type":"string"},"profile_name":{"description":"The profile type","type":"string"}},"required":["profile_id"],"type":"object"},"Package":{"properties":{"name":{"type":"string"},"summary":{"type":"string"}},"required":["name","summary"]},"PackageMetadata":{"properties":{"arch":{"type":"string"},"epoch":{"type":"string"},"name":{"type":"string"},"release":{"type":"string"},"sigmd5":{"type":"string"},"signature":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}},"required":["type","name","version","release","arch","sigmd5"]},"PackagesResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Package"},"type":"array"},"links":{"$ref":"#/components/schemas/ListResponseLinks"},"meta":{"$ref":"#/components/schemas/ListResponseMeta"}},"required":["meta","links","data"],"type":"object"},"Partition":{"oneOf":[{"$ref":"#/components/schemas/FilesystemTyped"},{"$ref":"#/components/schemas/BtrfsVolume"},{"$ref":"#/components/schemas/VolumeGroup"}],"type":"object","x-go-type":"composer.Partition"},"PartitionType":{"enum":["gpt","dos"],"type":"string","x-go-type":"composer.ImageTypeInfoPartitionType"},"Progress":{"allOf":[{"$ref":"#/components/schemas/SubProgress"},{"properties":{"subprogress":{"$ref":"#/components/schemas/SubProgress"}},"type":"object"}]},"Readiness":{"properties":{"readiness":{"type":"string"}},"required":["readiness"],"type":"object"},"RecommendPackageRequest":{"properties":{"distribution":{"pattern":"^rhel\\d+$","type":"string"},"packages":{"items":{"type":"string"},"type":"array"},"recommendedPackages":{"default":3,"format":"int32","type":"integer"}},"required":["packages","recommendedPackages","distribution"],"type":"object"},"RecommendationsResponse":{"properties":{"modelVersion":{"type":"string"},"packages":{"items":{"type":"string"},"type":"array"}},"required":["packages"],"type":"object"},"Repository":{"properties":{"baseurl":{"example":"https://cdn.redhat.com/content/dist/rhel8/8/x86_64/baseos/os/","format":"uri","type":"string"},"check_gpg":{"type":"boolean"},"check_repo_gpg":{"default":false,"description":"Enables gpg verification of the repository metadata\n","type":"boolean"},"gpgkey":{"type":"string"},"id":{"description":"An ID referring to a repository defined in content sources can be used instead of\n'baseurl', 'mirrorlist' or 'metalink'.\n","type":"string"},"ignore_ssl":{"type":"boolean"},"metalink":{"example":"https://mirrors.fedoraproject.org/metalink?repo=fedora-32\u0026arch=x86_64","format":"uri","type":"string"},"mirrorlist":{"example":"http://mirrorlist.centos.org/?release=9-stream\u0026arch=aarch64\u0026repo=BaseOS","format":"uri","type":"string"},"module_hotfixes":{"type":"boolean"},"rhsm":{"type":"boolean"}},"required":["rhsm"],"type":"object"},"Services":{"additionalProperties":false,"properties":{"disabled":{"description":"List of services to disable by default","items":{"example":"firewalld","type":"string"},"minItems":1,"type":"array"},"enabled":{"description":"List of services to enable by default","items":{"example":"nftables","type":"string"},"minItems":1,"type":"array"},"masked":{"description":"List of services to mask by default","items":{"example":"telnet","type":"string"},"minItems":1,"type":"array"}},"type":"object"},"SubProgress":{"properties":{"done":{"description":"Amount of completed steps in the build.","type":"integer"},"total":{"description":"Total amount of steps in the build.","type":"integer"}},"required":["done","total"],"type":"object","x-go-name":"SubProgress"},"Subscription":{"properties":{"activation-key":{"example":"my-secret-key","format":"password","type":"string"},"base-url":{"example":"http://cdn.redhat.com/","type":"string"},"insights":{"example":true,"type":"boolean"},"insights_client_proxy":{"description":"Optional value to set proxy option when registering the system to Insights.\n","format":"uri","type":"string"},"organization":{"example":2040324,"type":"integer"},"rhc":{"default":false,"description":"Optional flag to use rhc to register the system, which also always enables Insights.\n","example":true,"type":"boolean"},"server-url":{"example":"subscription.rhsm.redhat.com","type":"string"}},"required":["organization","activation-key","server-url","base-url","insights"],"type":"object"},"Timezone":{"additionalProperties":false,"description":"Timezone configuration","properties":{"ntpservers":{"description":"List of ntp servers","example":["0.north-america.pool.ntp.org","1.north-america.pool.ntp.org"],"items":{"type":"string"},"type":"array"},"timezone":{"description":"Name of the timezone, defaults to UTC","example":"US/Eastern","type":"string"}},"type":"object"},"UploadRequest":{"properties":{"options":{"anyOf":[{"$ref":"#/components/schemas/AWSUploadRequestOptions"},{"$ref":"#/components/schemas/AWSS3UploadRequestOptions"},{"$ref":"#/components/schemas/GCPUploadRequestOptions"},{"$ref":"#/components/schemas/AzureUploadRequestOptions"},{"$ref":"#/components/schemas/OCIUploadRequestOptions"}]},"type":{"$ref":"#/components/schemas/UploadTypes"}},"required":["type","options"],"type":"object"},"UploadStatus":{"properties":{"options":{"oneOf":[{"$ref":"#/components/schemas/AWSUploadStatus"},{"$ref":"#/components/schemas/AWSS3UploadStatus"},{"$ref":"#/components/schemas/GCPUploadStatus"},{"$ref":"#/components/schemas/AzureUploadStatus"},{"$ref":"#/components/schemas/OCIUploadStatus"}]},"status":{"enum":["success","failure","pending","running"],"type":"string"},"type":{"$ref":"#/components/schemas/UploadTypes"}},"required":["status","type","options"]},"UploadTypes":{"enum":["aws","gcp","azure","aws.s3","oci.objectstorage"],"type":"string"},"User":{"description":"At least one of password, ssh_key must be set, validator takes care of it.\nOn update empty string can be used to remove password or ssh_key,\nbut at least one of them still must be present.\n","properties":{"groups":{"description":"List of groups to add the user to. The 'wheel' group should be added explicitly, as the\ndefault value is empty.\n","example":["wheel"],"items":{"type":"string"},"type":"array"},"hasPassword":{"description":"Indicates whether the user has a password set. This flag is read-only.\n","type":"boolean"},"name":{"example":"user1","type":"string"},"password":{"description":"Plaintext passwords are also supported, they will be hashed and stored using the SHA-512 algorithm.\nThe password is never returned in the response.\nEmpty string can be used to remove the password during update but only with ssh_key set.\n","example":"$6$G91SvTj7uVp3xhqj$zVa8nqnJTlewniDII5dmvsBJnj3kloL3CXWdPDu9.e677VoRQd5zB6GKwkDvfGLoRR7NTl5nXLnJywk6IPIvS.","format":"password","type":"string"},"ssh_key":{"example":"ssh-rsa AAAAB3NzaC1","type":"string"}},"required":["name"],"type":"object"},"Version":{"properties":{"build_commit":{"type":"string"},"build_time":{"type":"string"},"version":{"type":"string"}},"required":["version"]},"VolumeGroup":{"properties":{"logical_volumes":{"items":{"$ref":"#/components/schemas/LogicalVolume"},"type":"array"},"minsize":{"$ref":"#/components/schemas/minsize"},"name":{"description":"Volume group name (will be automatically generated if omitted)\n","type":"string"},"part_type":{"description":"The partition type GUID for GPT partitions. For DOS partitions, this field can be used to set the (2 hex digit) partition type. If not set, the type will be automatically set based on the mountpoint or the payload type.\n","type":"string"},"type":{"enum":["lvm"],"type":"string"}},"required":["type","logical_volumes"],"type":"object","x-go-type":"composer.VolumeGroup"},"minsize":{"description":"size with data units","example":"2 GiB","type":"string"}}},"info":{"description":"Service that relays image build requests","license":{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"},"title":"Image-builder service","version":"1.0"},"openapi":"3.0.1","paths":{"/architectures/{distribution}":{"get":{"operationId":"getArchitectures","parameters":[{"description":"distribution for which to look up available architectures","example":"rhel-84","in":"path","name":"distribution","required":true,"schema":{"$ref":"#/components/schemas/Distributions"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Architectures"}}},"description":"a list of available architectures and their associated image types"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorList"}}},"description":"user is not allowed to build or query this distribution"}},"summary":"get the architectures and their image types available for a given distribution","tags":["distribution","architecture"]}},"/blueprints":{"get":{"description":"get a collection of blueprints, returns just the latest version of each blueprint","operationId":"getBlueprints","parameters":[{"description":"fetch blueprint with specific name","in":"query","name":"name","schema":{"type":"string"}},{"description":"search for blueprints by name or description","in":"query","name":"search","schema":{"type":"string"}},{"description":"max amount of blueprints, default 100","in":"query","name":"limit","schema":{"default":100,"maximum":100,"minimum":1,"type":"integer"}},{"description":"blueprint page offset, default 0","in":"query","name":"offset","schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlueprintsResponse"}}},"description":"a list of blueprints"}},"summary":"get a collection of blueprints","tags":["blueprint"]},"post":{"description":"create blueprint","operationId":"createBlueprint","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBlueprintRequest"}}},"description":"details of blueprint","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBlueprintResponse"}}},"description":"blueprint was saved"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorList"}}},"description":"user is not allowed to create blueprints"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorList"}}},"description":"blueprint is malformed"}},"summary":"create blueprint","tags":["blueprint"]}},"/blueprints/{id}":{"delete":{"description":"Deletes all versions of Blueprint, the compose will still count towards quota.\n","operationId":"deleteBlueprint","responses":{"204":{"description":"Successfully deleted"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorList"}}},"description":"Blueprint to delete was not found"}},"summary":"delete a blueprint","tags":["blueprint"]},"get":{"description":"get a blueprint detail","operationId":"getBlueprint","parameters":[{"description":"Filter by a specific version of the Blueprint we want to fetch.\nOmit or pass -1 to fetch latest version.\n","in":"query","name":"version","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlueprintResponse"}}},"description":"detail of a blueprint"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorList"}}},"description":"blueprint was not found"}},"summary":"get detail of a blueprint","tags":["blueprint"]},"parameters":[{"description":"UUID of a blueprint","example":"123e4567-e89b-12d3-a456-426655440000","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"put":{"description":"update blueprint","operationId":"updateBlueprint","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBlueprintRequest"}}},"description":"details of blueprint","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBlueprintResponse"}}},"description":"blueprint was updated"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorList"}}},"description":"blueprint was not found"}},"summary":"update blueprint","tags":["blueprint"]}},"/blueprints/{id}/compose":{"post":{"description":"create new compose from blueprint, optionally specifying the target image types to build","operationId":"composeBlueprint","parameters":[{"description":"UUID of a blueprint","example":"123e4567-e89b-12d3-a456-426655440000","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"image_types":{"example":["azure","aws"],"items":{"$ref":"#/components/schemas/ImageTypes"},"type":"array"}},"type":"object"}}},"description":"list of target image types that the user wants to build for this compose"},"responses":{"201":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ComposeResponse"},"type":"array"}}},"description":"compose was created"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorList"}}},"description":"user is not allowed to compose from blueprints"}},"summary":"create new compose from blueprint","tags":["blueprint"]}},"/blueprints/{id}/composes":{"get":{"description":"get a collection of composes associated to a blueprint, allows for filtering by version","operationId":"getBlueprintComposes","parameters":[{"description":"UUID of a blueprint","example":"123e4567-e89b-12d3-a456-426655440000","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Filter by a specific version of the Blueprint we want to fetch composes for.\nPass special value -1 to fetch composes for latest version of the Blueprint.\n","in":"query","name":"blueprint_version","schema":{"type":"integer"}},{"description":"max amount of composes, default 100","in":"query","name":"limit","schema":{"default":100,"maximum":100,"minimum":1,"type":"integer"}},{"description":"composes page offset, default 0","in":"query","name":"offset","schema":{"default":0,"minimum":0,"type":"integer"}},{"description":"Filter the composes on image type. The filter is optional and can be specified multiple times.\n","in":"query","name":"ignoreImageTypes","schema":{"items":{"$ref":"#/components/schemas/ImageTypes"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComposesResponse"}}},"description":"a list of composes"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorList"}}},"description":"blueprint was not found"}},"summary":"get composes associated with a blueprint","tags":["blueprint"]}},"/blueprints/{id}/export":{"get":{"description":"export a blueprint","operationId":"exportBlueprint","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlueprintExportResponse"}}},"description":"detail of a blueprint"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorList"}}},"description":"blueprint was not found"}},"summary":"export a blueprint","tags":["blueprint"]},"parameters":[{"description":"UUID of a blueprint","example":"123e4567-e89b-12d3-a456-426655440000","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}]},"/compose":{"post":{"description":"compose image","operationId":"composeImage","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComposeRequest"}}},"description":"details of image to be composed","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComposeResponse"}}},"description":"compose has started"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorList"}}},"description":"the compose request is malformed"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorList"}}},"description":"user is not allowed to build this distribution"}},"summary":"compose image","tags":["compose"]}},"/composes":{"get":{"operationId":"getComposes","parameters":[{"description":"max amount of composes, default 100","in":"query","name":"limit","schema":{"default":100,"maximum":100,"minimum":1,"type":"integer"}},{"description":"composes page offset, default 0","in":"query","name":"offset","schema":{"default":0,"minimum":0,"type":"integer"}},{"description":"Filter the composes on image type. The filter is optional and can be specified multiple times.\n","in":"query","name":"ignoreImageTypes","schema":{"items":{"$ref":"#/components/schemas/ImageTypes"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComposesResponse"}}},"description":"a list of composes"}},"summary":"get a collection of previous compose requests for the logged in user","tags":["compose"]}},"/composes/{composeId}":{"delete":{"description":"Deletes a compose, the compose will still count towards quota.\n","operationId":"deleteCompose","responses":{"200":{"description":"OK"}},"summary":"delete a compose"},"get":{"description":"status of an image compose","operationId":"getComposeStatus","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComposeStatus"}}},"description":"compose status"}},"summary":"get status of an image compose","tags":["compose"]},"parameters":[{"description":"Id of compose","in":"path","name":"composeId","required":true,"schema":{"example":"123e4567-e89b-12d3-a456-426655440000","format":"uuid","type":"string"}}]},"/composes/{composeId}/metadata":{"get":{"description":"metadata for an image compose","operationId":"getComposeMetadata","parameters":[{"description":"Id of compose metadata to get","in":"path","name":"composeId","required":true,"schema":{"example":"123e4567-e89b-12d3-a456-426655440000","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComposeMetadata"}}},"description":"compose metadata"}},"summary":"get metadata of an image compose","tags":["compose"]}},"/distributions":{"get":{"operationId":"getDistributions","parameters":[{"description":"Kind of distributions to return. When set to 'bootc', returns bootc/image-mode\ndistributions (each with distro, name, type, arch, and reference). Defaults to classic distributions.\n","in":"query","name":"kind","schema":{"$ref":"#/components/schemas/DistributionKind"}},{"description":"Filter bootc distributions by distribution name. Only applies when kind=bootc.\n","in":"query","name":"distro","schema":{"example":"rhel-10.0","type":"string"}},{"description":"Filter bootc distributions by CPU architecture. Only applies when kind=bootc.\n","in":"query","name":"arch","schema":{"example":"x86_64","type":"string"}},{"description":"Filter bootc distributions by image type. Only applies when kind=bootc.\n","in":"query","name":"type","schema":{"example":"aws","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributionsResponse"}}},"description":"A list of distributions. The items in the array depend on the 'kind' parameter.\n"}},"summary":"get the distributions available to this user","tags":["distribution"]}},"/distributions/{distro}":{"get":{"description":"Returns complete metadata for a distribution including architectures and image types","operationId":"getDistribution","parameters":[{"description":"Name of the distribution","in":"path","name":"distro","required":true,"schema":{"example":"rhel-9.6","type":"string"}},{"description":"Filter by image type. Multiple values can be specified.","in":"query","name":"image_type","schema":{"example":["ami","aws"],"items":{"type":"string"},"type":"array"}},{"description":"Filter by architecture. Multiple values can be specified.","in":"query","name":"architecture","schema":{"example":["x86_64","aarch64"],"items":{"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributionDetails"}}},"description":"Distribution details"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorList"}}},"description":"Distribution not found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorList"}}},"description":"Unexpected error occurred"}},"summary":"Get details for a specific distribution","tags":["distribution"]}},"/experimental/blueprints/{id}/fixup":{"parameters":[{"description":"UUID of a blueprint","example":"123e4567-e89b-12d3-a456-426655440000","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"post":{"description":"Apply fixes which should fix any lint errors in the blueprint.\n","operationId":"fixupBlueprint","responses":{"200":{"description":"successful update"},"404":{"description":"blueprint was not found"}},"summary":"Apply linter fixes to blueprint"}},"/experimental/recommendations":{"post":{"description":"Returns a list of recommended packages for given list of packages.","operationId":"recommendPackage","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendPackageRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendationsResponse"}}},"description":"Return the recommended packages."}},"summary":"List recommended packages.","tags":["recommendations"]}},"/openapi.json":{"get":{"operationId":"getOpenapiJson","responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"returns this document"}},"summary":"get the openapi json specification","tags":["meta","noAuth"]}},"/oscap/{distribution}/profiles":{"get":{"operationId":"getOscapProfiles","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributionProfileResponse"}}},"description":"A list of profiles configurable for this distribution.\n"}},"summary":"get the available profiles for a given distribution. This is a temporary endpoint meant to be removed soon.","tags":["oscap"]},"parameters":[{"in":"path","name":"distribution","required":true,"schema":{"$ref":"#/components/schemas/Distributions"}}]},"/oscap/{distribution}/{profile}/customizations":{"get":{"operationId":"getOscapCustomizations","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customizations"}}},"description":"A customizations array updated with the needed elements.\n"}},"summary":"get the customizations for a given distribution and profile. This is a temporary endpoint meant to be removed soon.","tags":["oscap"]},"parameters":[{"in":"path","name":"distribution","required":true,"schema":{"$ref":"#/components/schemas/Distributions"}},{"description":"Name of the profile to retrieve customizations from","in":"path","name":"profile","required":true,"schema":{"$ref":"#/components/schemas/DistributionProfileItem"}}]},"/oscap/{policy}/{distribution}/policy_customizations":{"get":{"operationId":"getOscapCustomizationsForPolicy","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customizations"}}},"description":"A customizations array updated with the needed elements.\n"}},"summary":"get the customizations for a compliance policy","tags":["oscap"]},"parameters":[{"example":"123e4567-e89b-12d3-a456-426655440000","in":"path","name":"policy","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"distribution","required":true,"schema":{"$ref":"#/components/schemas/Distributions"}}]},"/packages":{"get":{"operationId":"getPackages","parameters":[{"description":"distribution to look up packages for","in":"query","name":"distribution","required":true,"schema":{"$ref":"#/components/schemas/Distributions"}},{"description":"architecture to look up packages for","in":"query","name":"architecture","required":true,"schema":{"enum":["x86_64","aarch64"],"type":"string"}},{"description":"packages to look for","in":"query","name":"search","required":true,"schema":{"type":"string"}},{"description":"max amount of packages, default 100","in":"query","name":"limit","schema":{"default":100,"maximum":100,"minimum":1,"type":"integer"}},{"description":"packages page offset, default 0","in":"query","name":"offset","schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackagesResponse"}}},"description":"a list of packages"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorList"}}},"description":"user is not allowed to build or query this distribution"}},"tags":["package"]}},"/ready":{"get":{"operationId":"getReadiness","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Readiness"}}},"description":"readiness"}},"summary":"return the readiness","tags":["meta"]}},"/version":{"get":{"description":"get the service version","operationId":"getVersion","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"}}},"description":"a service version"}},"summary":"get the service version","tags":["meta"]}}},"servers":[{"url":"/api/image-builder/v1"},{"url":"/api/image-builder/v1.0"}]}
