openapi: 3.0.2 info: title: Candlepin description: Candlepin is a subscription management server written in Java. It helps with management of software subscriptions. version: 4.4.5 servers: - url: /candlepin security: - basicAuth: [] paths: /: get: description: Retrieves a list of links corresponding to Root resources tags: - root operationId: getRootResources security: [] # this resource doesn't require auth x-java-response: type: Iterable isContainer: true responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Link' default: $ref: '#/components/responses/default' /admin/init: get: deprecated: true description: | Deprecated. Formerly used to finish deployment by creating a default admin user in select environments, but no longer performs any action. Will be removed entirely in a future release. tags: - admin operationId: initialize security: [ ] responses: 200: description: always returns a 200 content: text/plain: schema: type: string default: $ref: '#/components/responses/default' /admin/queues: get: description: Basic information on the ActiveMQ queues and how many messages are pending in each. tags: - admin operationId: getQueueStats x-java-response: type: Iterable isContainer: true security: [ ] responses: 200: description: Queue stats successfully retrieved. content: application/json: schema: type: array items: $ref: '#/components/schemas/QueueStatus' default: $ref: '#/components/responses/default' /activation_keys: get: description: Retrieves a list of activation keys tags: - activation_key operationId: findActivationKey x-java-response: type: Iterable isContainer: true security: [] responses: 200: description: List of activation keys content: application/json: schema: type: array items: $ref: '#/components/schemas/ActivationKeyDTO' default: $ref: '#/components/responses/default' /activation_keys/{activation_key_id}: get: description: Retrieves a single activation key tags: - activation_key operationId: getActivationKey security: [] parameters: - name: activation_key_id in: path description: The ID of the activation key to retrieve required: true schema: type: string responses: 200: description: Activation key content: application/json: schema: $ref: '#/components/schemas/ActivationKeyDTO' 400: description: Activation key ID is null, empty or could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Activation key ID is null, empty or could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' put: description: Updates an Activation Key tags: - activation_key operationId: updateActivationKey security: [] parameters: - name: activation_key_id in: path description: The ID of the activation key to be updated required: true schema: type: string requestBody: description: Activation key to be updated required: true content: application/json: schema: $ref: '#/components/schemas/ActivationKeyDTO' responses: 200: description: Updated the activation key content: application/json: schema: $ref: '#/components/schemas/ActivationKeyDTO' 400: description: Invalid inputs, could not update activation key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid inputs, could not update activation key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Deletes an activation key tags: - activation_key operationId: deleteActivationKey security: [] parameters: - name: activation_key_id in: path description: The ID of the activation key to be deleted required: true schema: type: string responses: 204: description: A successful operation 400: description: Activation key ID is null, empty or could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Activation key ID is null, empty or could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /activation_keys/{activation_key_id}/content_overrides: get: description: Retrieves list of Content Overrides tags: - activation_key operationId: listActivationKeyContentOverrides security: [] parameters: - name: activation_key_id in: path description: The ID of the activation key required: true schema: type: string x-java-response: type: Iterable isContainer: true responses: 200: description: List of content overrides of the Activation Key content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentOverrideDTO' 400: description: ActivationKey with id test_id could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: ActivationKey with id test_id could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 403: description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Insufficient permissions requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' put: description: Adds or Updates a list of Content Overrides tags: - activation_key operationId: addActivationKeyContentOverrides security: [] parameters: - name: activation_key_id in: path description: The ID of the activation key required: true schema: type: string requestBody: description: The list of the content overrides required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentOverrideDTO' x-java-response: type: Iterable isContainer: true responses: 200: description: List of the created/update content overrides of the Activation Key content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentOverrideDTO' 400: description: ActivationKey with id test_id could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: ActivationKey with id test_id could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 403: description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Insufficient permissions requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Deletes a list of Content Overrides tags: - activation_key operationId: deleteActivationKeyContentOverrides security: [] parameters: - name: activation_key_id in: path description: The ID of the activation key required: true schema: type: string requestBody: description: The list of the content overrides required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentOverrideDTO' x-java-response: type: Iterable isContainer: true responses: 200: description: List of the deleted content overrides of the Activation Key content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentOverrideDTO' 400: description: ActivationKey with id test_id could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: ActivationKey with id test_id could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 403: description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Insufficient permissions requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /activation_keys/{activation_key_id}/pools: get: description: Retrieves a list of pools based on the activation key tags: - activation_key operationId: getActivationKeyPools security: [] parameters: - name: activation_key_id in: path description: The ID of the activation key required: true schema: type: string x-java-response: type: Iterable isContainer: true responses: 200: description: List of pools based on the Activation Key content: application/json: schema: type: array items: $ref: '#/components/schemas/PoolDTO' 400: description: Activation key ID is null, empty or could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Activation key ID is null, empty or could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /activation_keys/{activation_key_id}/pools/{pool_id}: post: description: Adds a Pool to an Activation Key tags: - activation_key operationId: addPoolToKey security: [] parameters: - in: path name: activation_key_id description: ID of the activation key required: true schema: type: string - in: path name: pool_id description: ID of the pool required: true schema: type: string - in: query name: quantity schema: type: integer format: int64 responses: 200: description: Pool added to activation key content: application/json: schema: $ref: '#/components/schemas/ActivationKeyDTO' 400: description: Invalid inputs, pool could not be added to activation key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid inputs, pool could not be added to activation key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Removes a Pool from an Activation Key tags: - activation_key operationId: removePoolFromKey security: [] parameters: - name: activation_key_id in: path description: The ID of the activation key required: true schema: type: string - name: pool_id in: path description: The ID of a pool to be removed required: true schema: type: string responses: 200: description: Pool removed from activation key content: application/json: schema: $ref: '#/components/schemas/ActivationKeyDTO' 400: description: Invalid inputs, pool could not be removed from activation key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid inputs, pool could not be removed from activation key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /activation_keys/{activation_key_id}/product/{product_id}: post: description: Adds an Product ID to an Activation Key tags: - activation_key operationId: addProductIdToKey security: [] parameters: - in: path name: activation_key_id description: ID of the activation key required: true schema: type: string - in: path name: product_id description: ID of the product required: true schema: type: string responses: 200: description: Product ID added to an activation key content: application/json: schema: $ref: '#/components/schemas/ActivationKeyDTO' 400: description: Invalid inputs, product ID could not be added to activation key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid inputs, product ID could not be added to activation key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Removes a Product ID from an Activation Key tags: - activation_key operationId: removeProductIdFromKey security: [] parameters: - name: activation_key_id in: path description: The ID of the activation key required: true schema: type: string - name: product_id in: path description: The ID of the product required: true schema: type: string responses: 200: description: Product ID removed from activation key content: application/json: schema: $ref: '#/components/schemas/ActivationKeyDTO' 400: description: Invalid inputs, product ID could not remove from activation key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid inputs, product ID could not remove from activation key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /cloud/authorize: post: description: Verifies provided cloud registration data and returns an authentication token. By default the token is valid for 10 minutes tags: - cloud_registration operationId: cloudAuthorize security: [] x-java-response: type: javax.ws.rs.core.Response isContainer: false parameters: - name: version in: query description: Version of cloud authentication schema: type: integer requestBody: description: Cloud registration data required: true content: application/json: schema: $ref: '#/components/schemas/CloudRegistrationDTO' responses: 200: description: Cloud authorization successful. When the version of authorization requested is 2, application/json is returned that contains a JWT token amongst other data. Otherwise, only a JWT token in text/plain format is returned. content: text/plain: schema: type: string application/json: schema: $ref: '#/components/schemas/CloudAuthenticationResultDTO' 400: description: CloudRegistrationInfo is null content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: CloudRegistrationInfo is null requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 401: description: Cloud provider or account details could not be resolved to an organization content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Cloud provider or account details could not be resolved to an organization requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 501: description: Cloud registration is not supported by this Candlepin instance content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Cloud registration is not supported by this Candlepin instance requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /cloud/consumers/anonymous: delete: description: Removes Anonymous Consumers (for testing purposes only) tags: - cloud_registration operationId: deleteAnonymousConsumersByAccountId security: [ ] parameters: - name: cloud_account_id in: query description: The ID of the Cloud Account required: true schema: type: string responses: 204: description: A successful operation. 403: description: Anonymous Consumers could not be deleted due to insufficient permissions. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Anonymous Consumers could not be deleted due to insufficient permissions. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /cloud/jobs/orgsetup/{cloud_account_id}: delete: description: Cancels all jobs associated with the specified cloud account ID (for testing purpose only) tags: - cloud_registration operationId: cancelCloudAccountJobs parameters: - in: path name: cloud_account_id description: The ID of the cloud account required: true schema: type: string security: [ ] responses: 200: description: List of ids for jobs associated with the cloud account id that were cancelled. content: application/json: schema: type: array items: type: string 400: description: Cloud account ID is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Cloud account ID is null or empty. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers: get: description: Retrieves a list of the Consumers according to search criteria. tags: - consumer operationId: searchConsumers x-java-response: type: java.util.stream.Stream isContainer: true security: [] parameters: - name: username in: query description: Username schema: type: string - name: type in: query description: Consumer type schema: type: array uniqueItems: true items: type: string - name: owner in: query description: Owner key schema: type: string - name: uuid in: query description: The UUID of consumers schema: type: array items: type: string - name: hypervisor_id in: query description: Hypervisor IDs schema: type: array items: type: string - name: registration_authentication_method in: query description: Registration Authentication Method schema: type: string - name: fact in: query description: The consumer facts schema: type: array items: type: string format: key:value - $ref: "#/components/parameters/paging_page" - $ref: "#/components/parameters/paging_per_page" - $ref: "#/components/parameters/paging_order" - $ref: "#/components/parameters/paging_sort_by" responses: 200: description: List of consumers content: application/json: schema: type: array items: $ref: '#/components/schemas/ConsumerDTOArrayElement' 400: description: Must specify at least one search criteria. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Must specify at least one search criteria. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner with this key could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner with this key could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' post: description: Creates a Consumer. This method is available to everyone, as we have nothing we can reliably verify in the method signature. Instead we have to figure out what owner this consumer is destined for (due to backward compatability with existing clients which do not specify an owner during registration) and then check the access to the specified owner in the method itself. tags: - consumer operationId: createConsumer security: [] parameters: - name: username in: query description: User name schema: type: string - name: owner in: query description: Owner key schema: type: string - name: activation_keys in: query description: Activation key schema: type: string - name: identity_cert_creation in: query description: Boolean flag for identity cert generation. schema: type: boolean default: true requestBody: description: Consumer to be created required: true content: application/json: schema: $ref: '#/components/schemas/ConsumerDTO' responses: 200: description: Consumer successfully created. content: application/json: schema: $ref: '#/components/schemas/ConsumerDTO' 400: description: One or more constraint validation has failed. | Consumer type must be specified or it is of invalid type. | Organization is not specified or does not exists. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: One or more constraint validation has failed. | Consumer type must be specified or it is of invalid type. | Organization is not specified or does not exists. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 403: description: Insufficient permissions. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Insufficient permissions. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner with this key could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner with this key could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/compliance: get: description: Retrieves a Compliance Status list for a list of Consumers. tags: - consumer operationId: getComplianceStatusList security: [ ] parameters: - name: uuid in: query description: Consumers UUIDs schema: type: array items: type: string responses: 200: description: Returns a map of consumer UUIDs & compliance status content: application/json: schema: type: object additionalProperties: $ref: '#/components/schemas/ComplianceStatusDTO' 400: description: Consumer does not have a defined type ID. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer does not have a defined type ID. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/exists: post: description: Checks for the existence of a Consumer in bulk. This API return UUIDs of non-existing consumer. tags: - consumer operationId: consumerExistsBulk security: [] requestBody: description: Array of Consumer UUIDs content: application/json: schema: type: array uniqueItems: true items: type: string x-java-response: type: javax.ws.rs.core.Response isContainer: false responses: 204: description: Consumers exist for all provided UUIDs 400: description: No UUIDs provided content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: No UUIDs provided requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Non-existing consumer UUIDs content: application/json: schema: type: array items: type: string default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}: get: description: Retrieves a single Consumer tags: - consumer operationId: getConsumer security: [] parameters: - name: consumer_uuid in: path description: Consumer UUID required: true schema: type: string responses: 200: description: Returns single consumer. content: application/json: schema: $ref: '#/components/schemas/ConsumerDTO' 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' put: description: Updates a Consumer tags: - consumer operationId: updateConsumer security: [] parameters: - name: consumer_uuid in: path description: The UUID of the Consumer required: true schema: type: string requestBody: description: Consumer to be updated required: true content: application/json: schema: $ref: '#/components/schemas/ConsumerDTO' responses: 200: description: Successful operation 400: description: One or more constraint validation has failed. Problem updating consumer. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: One or more constraint validation has failed. Problem updating consumer. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' post: description: Retrieves a single Consumer & regenerate identity certificates tags: - consumer operationId: regenerateIdentityCertificates security: [] parameters: - name: consumer_uuid in: path description: Consumer UUID required: true schema: type: string responses: 200: description: Returns consumer with regenerated Identity certs. content: application/json: schema: $ref: '#/components/schemas/ConsumerDTO' 400: description: Consumer type validation failed or Problem regenerating ID cert for this unit. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer type validation failed or Problem regenerating ID cert for this unit. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Removes a Consumer tags: - consumer operationId: deleteConsumer security: [ ] parameters: - name: consumer_uuid in: path description: The UUID of the Consumer required: true schema: type: string responses: 204: description: A successful operation. 403: description: Consumer could not be deleted due to insufficient permissions. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer could not be deleted due to insufficient permissions. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 410: description: Consumer with this UUID is already deleted. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID is already deleted. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/accessible_content: get: description: Retrieves the body of the Content Access Certificate for the Consumer tags: - consumer operationId: getContentAccessBody security: [ ] x-java-response: type: javax.ws.rs.core.Response isContainer: false parameters: - name: consumer_uuid in: path description: The UUID of the consumer required: true schema: type: string - name: If-Modified-Since in: header description: Modified date. Accepted format EEE, dd MMM yyyy HH:mm:ss z schema: type: string # FIXME It wont work on older version resteasy validation. # format: date-time # pattern: EEE, dd MMM yyyy HH:mm:ss z responses: 200: description: A successful operation. content: text/plain: schema: type: string 304: description: Not modified since date supplied. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Not modified since date supplied. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 400: description: Unable to parse modified date. Accepted format "EEE, dd MMM yyyy HH:mm:ss z" | Cannot retrieve content access certificate. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Unable to parse modified date. Accepted format "EEE, dd MMM yyyy HH:mm:ss z" | Cannot retrieve content access certificat. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/certificates: put: description: Regenerates the Entitlement Certificates for a Consumer tags: - consumer operationId: regenerateEntitlementCertificates security: [ ] parameters: - name: consumer_uuid in: path description: The UUID of the Consumer required: true schema: type: string - name: entitlement in: query description: Entitlement ID schema: type: string - name: lazy_regen in: query description: Lazy regeneration of entitlement certs schema: type: boolean default: true - name: cleanup_entitlements in: query description: | Whether or not to remove unnecessary or unused entitlements for the consumer before regenerating certificates schema: type: boolean default: false responses: 204: description: Successful operation 400: description: Consumer does not have a defined type ID. Invalid consumer type. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer does not have a defined type ID. Invalid consumer type. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found Or Entitlement with this ID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found Or Entitlement with this ID could not befound. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' get: description: Retrieves a list or a compressed file (depends on accept header) of entitlement certificates for the consumer. tags: - consumer operationId: exportCertificates security: [ ] parameters: - name: consumer_uuid in: path description: The UUID of the consumer to retrieve guest required: true schema: type: string - name: serials in: query description: Certificate serials schema: type: string responses: 200: description: A successful operation # This endpoint does not really support text/plain, but only application/zip and application/json. # The reason for adding text/plain here is a workaround and it is because only the first schema # type defined is taken into account. In this case Object will be generated as the returned type, # which covers both the List and zip file of the 2 cases we support. This is done # because currently openapi-generator does not support returning multiple schema types for # different accept header values on the same endpoint content: text/plain: schema: type: object application/zip: schema: type: string format: binary application/json: schema: $ref: '#/components/schemas/CertificateDTO' 400: description: Consumer is null or does not have a defined type ID or Consumer is not associated with a valid type. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer is null or does not have a defined type ID or Consumer is not associated with a valid type. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/compliance: get: description: Retrieves the Compliance Status of a Consumer. tags: - consumer operationId: getComplianceStatus security: [ ] parameters: - name: consumer_uuid in: path description: Consumer UUID required: true schema: type: string - name: on_date in: query description: Date to get compliance information for, default is now. schema: type: string format: date-time responses: 200: description: Returns the Compliance Status of a Consumer. content: application/json: schema: $ref: '#/components/schemas/ComplianceStatusDTO' 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/content_access: get: description: Retrieves content access of a Consumer tags: - consumer operationId: getContentAccessForConsumer security: [ ] parameters: - name: consumer_uuid in: path description: Consumer UUID required: true schema: type: string responses: 200: description: Returns content access of a Consumer. content: application/json: schema: $ref: '#/components/schemas/ContentAccessDTO' 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/content_overrides: get: description: Retrieves list of Content Overrides tags: - consumer operationId: listConsumerContentOverrides security: [] parameters: - name: consumer_uuid in: path description: The ID of the consumer required: true schema: type: string x-java-response: type: Iterable isContainer: true responses: 200: description: List of content overrides of the Consumer. content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentOverrideDTO' 403: description: Insufficient permissions. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Insufficient permissions. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' put: description: Adds or Updates a list of Content Overrides tags: - consumer operationId: addConsumerContentOverrides security: [] parameters: - name: consumer_uuid in: path description: The ID of the Consumer required: true schema: type: string requestBody: description: The list of the content overrides required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentOverrideDTO' x-java-response: type: Iterable isContainer: true responses: 200: description: List of the created/update content overrides of the Consumer content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentOverrideDTO' 400: description: | The content labels are invalid. The content properties cannot be overridden. The override values are invalid. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: The content labels are invalid. The content properties cannot be overridden. The override values are invalid. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 403: description: Insufficient permissions. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Insufficient permissions. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Deletes a list of Content Overrides tags: - consumer operationId: deleteConsumerContentOverrides security: [] parameters: - name: consumer_uuid in: path description: The ID of the Consumer required: true schema: type: string requestBody: description: The list of the content overrides required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentOverrideDTO' x-java-response: type: Iterable isContainer: true responses: 200: description: List of the deleted content overrides of the Consumer content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentOverrideDTO' 403: description: Insufficient permissions. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Insufficient permissions. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/deletionrecord: delete: description: Removes the Deletion Record for a Consumer Allowed for a superadmin. The main use case for this would be if a user accidently deleted a non-RHEL hypervisor, causing it to no longer be auto-detected via virt-who. tags: - consumer operationId: removeDeletionRecord security: [] parameters: - name: consumer_uuid in: path description: The UUID of the Consumer required: true schema: type: string responses: 204: description: A successful operation. 404: description: Deletion record for hypervisor is not found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Deletion record for hypervisor is not found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/entitlements: get: description: Retrieves a list of Entitlements. This endpoint supports paging with query parameters. tags: - consumer operationId: listEntitlements security: [ ] parameters: - name: consumer_uuid in: path description: Consumer UUID required: true schema: type: string - name: product in: query description: ID of a Product schema: type: string - name: regen in: query description: Boolean flag to regenerate entitlements schema: type: boolean default: true - name: attribute in: query description: Attribute filters required: false schema: type: array items: type: string format: key:value - $ref: "#/components/parameters/paging_page" - $ref: "#/components/parameters/paging_per_page" - $ref: "#/components/parameters/paging_order" - $ref: "#/components/parameters/paging_sort_by" responses: 200: description: A list of entitlements content: application/json: schema: type: array items: $ref: '#/components/schemas/EntitlementDTO' 400: description: Product with this ID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Product with this ID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Unbinds all Entitlements for a Consumer. The result contains the total number of entitlements unbound. tags: - consumer operationId: unbindAll security: [ ] parameters: - name: consumer_uuid in: path description: The UUID of the Consumer required: true schema: type: string responses: 200: description: The total number of revoked entitlements content: application/json: schema: $ref: '#/components/schemas/DeleteResult' 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' post: description: If a pool ID is specified, we know we're binding to that exact pool. Specifying an entitle date in this case makes no sense and will throw an error. If a list of product IDs are specified, we attempt to auto-bind to subscriptions which will provide those products. An optional date can be specified allowing the consumer to get compliant for some date in the future. If no date is specified we assume the current date. If neither a pool nor an ID is specified, this is a healing request. The path is similar to the bind by products, but in this case we use the installed products on the consumer, and their current compliant status, to determine which product IDs should be requested. The entitle date is used the same as with bind by products. The response will contain a list of Entitlement objects if async is false, or a JobDetail object if async is true tags: - consumer operationId: bind security: [] x-java-response: type: javax.ws.rs.core.Response isContainer: false parameters: - name: consumer_uuid in: path description: Consumer UUID required: true schema: type: string - name: pool in: query description: Pool ID schema: type: string - name: product in: query description: Product array schema: type: array items: type: string - name: quantity in: query description: Quantity schema: type: integer - name: email in: query description: Email address schema: type: string - name: email_locale in: query description: Email locale schema: type: string - name: async in: query description: Operation Type async or sync schema: type: boolean default: false - name: entitle_date in: query description: Entitlement date schema: type: string format: date-time - name: from_pool in: query description: From pool schema: type: array items: type: string responses: 200: description: A successful operation content: text/plain: schema: type: string 400: description: Invalid date, must use ISO 8601 format | Cannot bind by multiple parameters | Cannot specify a quantity when auto-binding. | Ignoring request to auto-attach. It is disabled for org because of the content access mode setting or hypervisor autobind setting. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid date, must use ISO 8601 format | Cannot bind by multiple parameters | Cannot specify a quantity when auto-binding. | Ignoring request to auto-attach. It is disabled for org because of the content access mode setting or hypervisor autobind setting. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/exists: head: description: Checks for the existence of a Consumer. tags: - consumer operationId: consumerExists security: [] parameters: - name: consumer_uuid in: path description: The UUID of the Consumer required: true schema: type: string responses: 204: description: Successful Operation. 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/export: get: description: Retrieves a Compressed File representation of a Consumer (manifest). tags: - consumer operationId: exportData security: [ ] parameters: - name: consumer_uuid in: path description: The UUID of the target consumer. required: true schema: type: string - name: cdn_label in: query description: The label of the target CDN. required: false schema: type: string - name: webapp_prefix in: query description: The URL pointing to the manifest's originating web application. required: false schema: type: string - name: api_url in: query description: The URL pointing to the manifest's originating candlepin API. required: false schema: type: string responses: 200: description: A successful operation content: application/zip: schema: type: string format: binary 400: description: Consumer is null or does not have a defined type ID or Consumer is not associated with a valid type content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer is null or does not have a defined type ID or Consumer is not associated with a valid type requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 403: description: Unit cannot be exported. | A manifest cannot be made for units this type. | A CDN with this label does not exist on this system. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Unit cannot be exported. | A manifest cannot be made for units this type. | A CDN with this label does not exist on this system. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/guests: get: description: Retrieves a list of Guest Consumers of a Consumer tags: - consumer operationId: getGuests security: [ ] parameters: - name: consumer_uuid in: path description: Consumer UUID required: true schema: type: string responses: 200: description: Returns the list of consumers content: application/json: schema: type: array items: $ref: '#/components/schemas/ConsumerDTOArrayElement' 400: description: The system with this UUID is a virtual guest. It does not have guests. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: The system with this UUID is a virtual guest. It does not have guests. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/guestids: get: description: Retrieves the list of a Consumer's Guests tags: - guest_ids operationId: getGuestIds x-java-response: type: Iterable isContainer: true security: [] parameters: - name: consumer_uuid in: path required: true schema: type: string responses: 200: description: A successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/GuestIdDTOArrayElement' default: $ref: '#/components/responses/default' put: description: Updates the list of guests on a consumer. tags: - guest_ids operationId: updateGuests security: [] parameters: - name: consumer_uuid in: path description: The UUID of the consumer who owns or hosts the guest required: true schema: type: string requestBody: description: The list of the guests to be updated required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/GuestIdDTO' responses: 200: description: A successful operation default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/host: get: description: Retrieves a Host Consumer of a Consumer tags: - consumer operationId: getHost security: [ ] parameters: - name: consumer_uuid in: path description: Consumer UUID required: true schema: type: string responses: 200: description: Returns Host Consumer of a Consumer content: application/json: schema: $ref: '#/components/schemas/ConsumerDTO' 400: description: The system with this UUID is not a virtual guest. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: The system with this UUID is not a virtual guest. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/owner: get: description: Retrieves the Owner associated to a Consumer tags: - consumer operationId: getOwnerByConsumerUuid security: [ ] parameters: - name: consumer_uuid in: path description: Consumer UUID required: true schema: type: string responses: 200: description: A successful operation content: application/json: schema: $ref: '#/components/schemas/OwnerDTO' 400: description: OwnerId is null or owner not found for this ID. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: OwnerId is null or owner not found for this ID. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/purpose_compliance: get: description: Retrieves the System Purpose Compliance Status of a Consumer. tags: - consumer operationId: getSystemPurposeComplianceStatus security: [ ] parameters: - name: consumer_uuid in: path description: Consumer UUID required: true schema: type: string - name: on_date in: query description: Date to get compliance information for, default is now. schema: type: string format: date-time responses: 200: description: Returns the System Purpose Compliance Status of a Consumer. content: application/json: schema: $ref: '#/components/schemas/SystemPurposeComplianceStatusDTO' 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/release: get: description: Retrieves the release of a consumer tags: - consumer operationId: getRelease security: [] parameters: - name: consumer_uuid in: path description: Consumer UUID required: true schema: type: string responses: 200: description: Returns the release of a consumer content: application/json: schema: $ref: '#/components/schemas/ReleaseVerDTO' 404: description: Consumer with this UUID could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/export/async: get: description: Initiates an async generation of a Compressed File representation of a Consumer (manifest). The response will contain the id of the job from which its result data will contain the href to download the generated file. tags: - consumer operationId: exportDataAsync security: [ ] parameters: - name: consumer_uuid in: path description: The UUID of the target consumer. required: true schema: type: string - name: cdn_label in: query description: The lable of the target CDN. required: false schema: type: string - name: webapp_prefix in: query description: The URL pointing to the manifest's originating web application. required: false schema: type: string - name: api_url in: query description: The URL pointing to the manifest's originating candlepin API. required: false schema: type: string responses: 200: description: A successful operation content: application/json: schema: $ref: '#/components/schemas/AsyncJobStatusDTO' 400: description: Consumer is null or does not have a defined type ID or Consumer is not associated with a valid type content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer is null or does not have a defined type ID or Consumer is not associated with a valid type requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 403: description: Unit cannot be exported. | A manifest cannot be made for units this type. | A CDN with this label does not exist on this system. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Unit cannot be exported. | A manifest cannot be made for units this type. | A CDN with this label does not exist on this system. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/entitlements/dry-run: get: description: Retrieves a list of Pools and quantities that would be the result of an auto-bind. This is a dry run of an autobind. It allows the client to see what would be the result of an autobind without executing it. It can only do this for the prevously established list of installed products for the consumer If a service level is included in the request, then that level will override the one stored on the consumer. If no service level is included then the existing one will be used. The Response has a list of PoolQuantity objects tags: - consumer operationId: dryBind security: [ ] parameters: - name: consumer_uuid in: path description: Consumer UUID required: true schema: type: string - name: service_level in: query description: Service level schema: type: string responses: 200: description: List of pool quantities along with pool. content: application/json: schema: type: array items: $ref: '#/components/schemas/PoolQuantityDTO' 400: description: Either owner ID is null or Owner could not be found. Organization has auto-attach disabled which could be due to content access settings. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Either owner ID is null or Owner could not be found. Organization has auto-attach disabled which could be due to content access settings. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/certificates/serials: get: description: Retrieves a list of Certiticate Serials for the given consumer. This is a small subset of data clients can use to determine which certificates they need to update/fetch. tags: - consumer operationId: getEntitlementCertificateSerials security: [ ] parameters: - name: consumer_uuid in: path description: Consumer UUID required: true schema: type: string responses: 200: description: A list of certificate serials content: application/json: schema: type: array items: $ref: '#/components/schemas/CertificateSerialDTO' 400: description: Cannot retrieve content access certificate content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Cannot retrieve content access certificate requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/certificates/{serial}: delete: description: Removes an Entitlement from a Consumer By the Certificate Serial tags: - consumer operationId: unbindBySerial security: [] parameters: - name: consumer_uuid in: path description: The UUID of the Consumer required: true schema: type: string - name: serial in: path description: certificate serial required: true schema: type: integer format: int64 responses: 204: description: A successful operation. 404: description: Consumer with this UUID could not be found or Entitlement Certificate with serial number could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found or Entitlement Certificate with serial number could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/entitlements/{dbid}: delete: description: Removes an Entitlement from a Consumer By the Entitlement ID tags: - consumer operationId: unbindByEntitlementId security: [ ] parameters: - name: consumer_uuid in: path description: The UUID of the Consumer required: true schema: type: string - name: dbid in: path description: Entitlement ID required: true schema: type: string responses: 204: description: Successful operation 404: description: Consumer with this UUId could not be found. OR Entitlement ID could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUId could not be found. OR Entitlement ID could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/export/{export_id}: get: description: Downloads an asynchronously generated consumer export file (manifest). tags: - consumer operationId: downloadExistingExport security: [] parameters: - name: consumer_uuid in: path description: The UUID of the consumer required: true schema: type: string - name: export_id in: path description: export ID required: true schema: type: string responses: 200: description: A successful operation content: application/zip: schema: type: string format: binary 400: description: Could not validate export against specifed consumer content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Could not validate export against specifed consumer requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Consumer with this UUID could not be found. | Unable to find specified manifest by this ID content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Consumer with this UUID could not be found. | Unable to find specified manifest by this ID requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/guestids/{guest_id}: get: description: Retrieves a single Guest by its consumer and the guest UUID tags: - guest_ids operationId: getGuestId security: [] parameters: - name: consumer_uuid in: path description: The UUID of the consumer to retrieve guest required: true schema: type: string - name: guest_id in: path description: The UUID of the guest to retrieve required: true schema: type: string responses: 200: description: A successful operation content: application/json: schema: $ref: '#/components/schemas/GuestIdDTO' 404: description: A Guest could not be found using the provided UUID content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: A Guest could not be found using the provided UUID requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' put: description: Updates a single Guest on a Consumer. Allows virt-who to avoid uploading an entire list of guests tags: - guest_ids operationId: updateGuest security: [] parameters: - name: consumer_uuid in: path description: The UUID of the consumer who owns or hosts the guest required: true schema: type: string - name: guest_id in: path description: The UUID of the guest to be updated required: true schema: type: string requestBody: description: Updated guest data required: true content: application/json: schema: $ref: '#/components/schemas/GuestIdDTO' responses: 200: description: A successful operation 400: description: Provided Guest UUID is not valid or does not match with guest UUID in JSON content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Provided Guest UUID is not valid or does not match with guest UUID in JSON requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: A Consumer could not be found using the provided UUID content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: A Consumer could not be found using the provided UUID requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Removes the guest from the consumer tags: - guest_ids operationId: deleteGuest security: [] parameters: - name: consumer_uuid in: path description: The UUID of the consumer who owns or hosts the guest required: true schema: type: string - name: guest_id in: path description: The UUID of the guest to be deleted required: true schema: type: string - name: unregister in: query description: Unregister the consumer required: true schema: type: boolean default: false responses: 200: description: A successful operation 400: description: Provided guest uuid is not valid or does not match with guest uuid in JSON content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Provided guest uuid is not valid or does not match with guest uuid in JSON requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 403: description: The consumer cannot unregister becuase of unknown type or invalid credentails content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: The consumer cannot unregister becuase of unknown type or invalid credentails requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: The consumer and/or guest could not be found using the provided uuid content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: The consumer and/or guest could not be found using the provided uuid requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 410: description: A consumer was already deleted content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: A consumer was already deleted requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumers/{consumer_uuid}/entitlements/pool/{pool_id}: delete: description: Removes all Entitlements from a Consumer by Pool Id tags: - consumer operationId: unbindByPool security: [ ] parameters: - name: consumer_uuid in: path description: The ID of the Consumer required: true schema: type: string - name: pool_id in: path description: The ID of the Consumer required: true schema: type: string responses: 204: description: Successful operation 404: description: No entitlements found for this consumer & with this pool ID content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: No entitlements found for this consumer & with this pool ID requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /consumertypes: get: description: Retrieves a list of known consumer types tags: - consumer_type operationId: getConsumerTypes x-java-response: type: Iterable isContainer: true security: [] responses: 200: description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ConsumerTypeDTO' default: $ref: '#/components/responses/default' post: description: Creates a new consumer type tags: - consumer_type operationId: createConsumerType security: [] requestBody: description: The consumer type to create content: application/json: schema: $ref: '#/components/schemas/ConsumerTypeDTO' responses: 200: description: '' content: application/json: schema: $ref: '#/components/schemas/ConsumerTypeDTO' default: $ref: '#/components/responses/default' /consumertypes/{id}: get: description: Retrieves a specific consumer type tags: - consumer_type operationId: getConsumerType security: [] parameters: - name: id in: path description: The ID of the consumer type to retrieve required: true schema: type: string responses: 200: description: '' content: application/json: schema: $ref: '#/components/schemas/ConsumerTypeDTO' 404: description: A consumer type could not be found using the provided ID content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: A consumer type could not be found using the provided ID requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' put: description: Updates an existing consumer type tags: - consumer_type operationId: updateConsumerType security: [] parameters: - name: id in: path description: The ID of the consumer type to update required: true schema: type: string requestBody: description: The fields and updated values to apply to the specified consumer type content: application/json: schema: $ref: '#/components/schemas/ConsumerTypeDTO' responses: 200: description: '' content: application/json: schema: $ref: '#/components/schemas/ConsumerTypeDTO' 404: description: A consumer type could not be found using the provided ID content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: A consumer type could not be found using the provided ID requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Deletes an existing consumer type tags: - consumer_type operationId: deleteConsumerType security: [] parameters: - name: id in: path description: The ID of the consumer type to delete required: true schema: type: string responses: 204: description: '' 404: description: A consumer type could not be found using the provided ID content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: A consumer type could not be found using the provided ID requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /cdn: get: description: Retrieves a list of CDN's tags: - cdn operationId: getContentDeliveryNetworks x-java-response: type: Iterable isContainer: true security: [] responses: 200: description: A list of CDN's content: application/json: schema: type: array items: $ref: '#/components/schemas/CdnDTO' default: $ref: '#/components/responses/default' post: tags: - cdn description: Creates a new CDN operationId: createCdn security: [] requestBody: description: CDN to be created required: true content: application/json: schema: $ref: '#/components/schemas/CdnDTO' responses: 200: description: CDN successfully created content: application/json: schema: $ref: '#/components/schemas/CdnDTO' 400: description: CDN label already exists content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: CDN label already exists requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /cdn/{label}: put: tags: - cdn description: Updates a CDN operationId: updateCdn security: [] parameters: - name: label in: path required: true schema: type: string requestBody: description: Fields that needs to be updated for specified CDN required: true content: application/json: schema: $ref: '#/components/schemas/CdnDTO' responses: 200: description: CDN successfully updated content: application/json: schema: $ref: '#/components/schemas/CdnDTO' 404: description: No such content delivery network content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: No such content delivery network requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: tags: - cdn description: Deletes a CDN operationId: deleteCdn security: [] parameters: - name: label in: path required: true schema: type: string responses: 204: description: CDN successfully deleted 500: description: Multiple CDN instances found with the same label content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Multiple CDN instances found with the same label requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /content: get: tags: - content description: Retrieves list of Content operationId: getContents x-java-response: type: Iterable isContainer: true security: [] responses: 200: description: Content successfully listed content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentDTO' default: $ref: '#/components/responses/default' /content/{content_uuid}: get: tags: - content description: Retrieves a single Content operationId: getContentByUuid security: [] parameters: - name: content_uuid in: path required: true schema: type: string responses: 200: description: Content successfully retrieved content: application/json: schema: $ref: '#/components/schemas/ContentDTO' 404: description: Content with the given UUID was not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Content with the given UUID was not found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /crl: get: tags: - certificate_revocation_list description: Retrieves the list of all revoked certificate serial ids that are not expired operationId: getCurrentCrl security: [] responses: 200: description: Certificate revocation list successfully retrieved content: application/json: schema: type: array items: type: integer format: int64 default: $ref: '#/components/responses/default' /deleted_consumers: get: description: Retrieves a list of deleted consumers by deletion date or all. List returned is the deleted Consumers. tags: - deleted_consumer operationId: listByDate parameters: - in: query name: date schema: type: string format: date-time description: Filter deleted consumers to those on or after this date x-java-response: type: Iterable isContainer: true security: [] responses: 200: description: A list of deleted consumers content: application/json: schema: type: array items: $ref: '#/components/schemas/DeletedConsumerDTO' 400: description: Date is invalid content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Date is invalid requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Not Found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /distributor_versions: get: tags: - distributor_versions description: Retrieves a list of Distributor Versions operationId: getVersions x-java-response: type: java.util.stream.Stream isContainer: true security: [] parameters: - name: name_search in: query required: false schema: type: string - name: capability in: query required: false schema: type: string responses: 200: description: A successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/DistributorVersionDTO' default: $ref: '#/components/responses/default' post: tags: - distributor_versions description: Creates a Distributor Version operationId: create security: [] requestBody: description: A new distributor version to be created required: true content: application/json: schema: $ref: '#/components/schemas/DistributorVersionDTO' responses: 200: description: A successful operation content: application/json: schema: $ref: '#/components/schemas/DistributorVersionDTO' 400: description: A distributor version already exists content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: A distributor version already exists requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /distributor_versions/{id}: put: tags: - distributor_versions description: Updates a Distributor Version operationId: update security: [] parameters: - name: id in: path required: true schema: type: string requestBody: description: The fields and updated values to apply to the specified distributor version required: true content: application/json: schema: $ref: '#/components/schemas/DistributorVersionDTO' responses: 200: description: A successful operation content: application/json: schema: $ref: '#/components/schemas/DistributorVersionDTO' 404: description: A distibutor version could not be found using the provided ID content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: A distibutor version could not be found using the provided ID requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: tags: - distributor_versions description: Deletes a Distributor Version operationId: delete security: [] parameters: - name: id in: path required: true schema: type: string responses: 204: description: A successful operation 404: description: Distributor version could not be found using the provided ID content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Distributor version could not be found using the provided ID requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /environments/{env_id}: get: description: Retrieves a single Environment operationId: getEnvironment tags: - environment parameters: - name: env_id in: path required: true schema: type: string security: [] responses: 200: description: Environment was successfully retrieved. content: application/json: schema: $ref: '#/components/schemas/EnvironmentDTO' 404: description: "No such environment: test_env" content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: "No such environment: test_env" requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: "Deletes an environment. WARNING: this will delete all consumers in the environment and revoke their entitlement certificates." operationId: deleteEnvironment tags: - environment parameters: - name: env_id in: path required: true schema: type: string security: [] responses: 204: description: Environment was successfully deleted. 404: description: "No such environment: test_env" content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: "No such environment: test_env" requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /environments/{env_id}/consumers: post: description: Creates a Consumer in an Environment operationId: createConsumerInEnvironment tags: - environment parameters: - name: env_id in: path required: true schema: type: string - name: username in: query required: false schema: type: string - name: activation_keys in: query required: false schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ConsumerDTO' security: - ActivationKey: [] ActivationKeyOwner: [] responses: 200: description: Consumer was successfully created. content: application/json: schema: $ref: '#/components/schemas/ConsumerDTO' 404: description: "No such environment: test_env" content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: "No such environment: test_env" requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 400: description: Unit type must be specified or Two or more environments belong to different organizations content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Unit type must be specified or Two or more environments belong to different organizations requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 403: description: Principal is not authorized to register with organization org content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: "test_principal is not authorized to register with organization test_org" requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /environments/{env_id}/content: post: description: | Promotes a Content into an Environment. This call accepts multiple content sets to promote at once, after which all affected certificates for consumers in the environment will be regenerated. Consumers registered to this environment will now receive this content in their entitlement certificates. Because the certificate regeneraiton can be quite time consuming, this is done as an asynchronous job. The content will be promoted and immediately available for new entitlements, but existing entitlements could take some time to be regenerated and sent down to clients as they check in. operationId: promoteContent tags: - environment parameters: - name: env_id in: path required: true schema: type: string - name: lazy_regen in: query required: false schema: type: boolean default: true requestBody: description: Contents to promote required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentToPromoteDTO' security: [] responses: 200: description: Content was successfully promoted content: application/json: schema: $ref: '#/components/schemas/AsyncJobStatusDTO' 404: description: "No such environment: test_env" content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: "No such environment: test_env" requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 409: description: The content with id test_env has already been promoted in this environment. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: The content with id test_env has already been promoted in this environment. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: "Demotes a Content from an Environment. Consumer's registered to this environment will not see this content in their entitlement certificates. (after they are regenerated and synced to clients) This call accepts multiple content IDs to demote at once, allowing us to mass demote, then trigger a cert regeneration. NOTE: This call expects the actual content IDs, *not* the ID created for each EnvironmentContent object created after a promotion. This is to help integrate with other management apps which should not have to track/lookup a specific ID for the content to demote." operationId: demoteContent tags: - environment parameters: - name: env_id in: path required: true schema: type: string - name: content in: query required: true schema: type: array items: type: string - name: lazy_regen in: query required: false schema: type: boolean default: true security: [] responses: 200: description: Content was successfully demoted content: application/json: schema: $ref: '#/components/schemas/AsyncJobStatusDTO' 404: description: "Content does not exist in environment: test_content" content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: "Content does not exist in environment: test_content" requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /entitlements: get: description: Retrieves list of Entitlements. This endpoint supports paging with query parameters. For more details please visit https://www.candlepinproject.org/docs/candlepin/pagination.html#paginating-results-from-candlepin operationId: listAllForConsumer tags: - entitlements parameters: - name: consumer in: query required: false schema: type: string - name: matches in: query required: false schema: type: string - name: attribute in: query description: Attribute filters required: false schema: type: array items: type: string format: key:value - $ref: "#/components/parameters/paging_page" - $ref: "#/components/parameters/paging_per_page" - $ref: "#/components/parameters/paging_order" - $ref: "#/components/parameters/paging_sort_by" security: [] responses: 200: description: A successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/EntitlementDTO' 400: description: Unit with ID "test_id" could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Unit with ID "test_uuid" could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /entitlements/consumer/{consumer_uuid}/product/{product_id}: get: description: Checks Consumer for Product Entitlement operationId: hasEntitlement tags: - entitlements parameters: - name: consumer_uuid in: path required: true schema: type: string - name: product_id in: path required: true schema: type: string security: [] responses: 200: description: Entitlement successfully found for customer content: application/json: schema: $ref: '#/components/schemas/EntitlementDTO' 404: description: Entitlement could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Entitlement with ID "test_uuid" could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /entitlements/{entitlement_id}: get: description: Retrieves a single Entitlement operationId: getEntitlement tags: - entitlements parameters: - name: entitlement_id in: path required: true schema: type: string security: [] responses: 200: description: A successful operation content: application/json: schema: $ref: '#/components/schemas/EntitlementDTO' 404: description: Entitlement could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Entitlement with ID "test_uuid" could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' put: description: Updates an Entitlement. This only works for the quantity. operationId: updateEntitlement tags: - entitlements parameters: - name: entitlement_id in: path required: true schema: type: string security: [] requestBody: description: Updated entitlement required: true content: application/json: schema: $ref: '#/components/schemas/EntitlementDTO' responses: 204: description: A successful operation 400: description: Quantity value must be greater than 0. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Quantity value must be greater than 0. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Entitlement could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Entitlement with ID "test_uuid" could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /entitlements/{dbid}/upstream_cert: get: description: Retrieves a Subscription Certificate operationId: getUpstreamCert tags: - entitlements parameters: - name: dbid in: path required: true schema: type: string security: [] responses: 200: description: A successful operation content: text/plain: schema: type: string 404: description: | Entitlement could not be found. Unable to find upstream certificate for entitlement. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Entitlement with ID "test_uuid" could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /entitlements/{dbid}: delete: description: Deletes an Entitlement operationId: unbind tags: - entitlements parameters: - name: dbid in: path required: true schema: type: string security: [] responses: 204: description: Entitlement successfuly deleted 404: description: Entitlement could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Entitlement with ID "test_uuid" could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /entitlements/product/{product_id}: put: description: Regenerates the Entitlement Certificates for a Product operationId: regenerateEntitlementCertificatesForProduct tags: - entitlements parameters: - name: product_id in: path required: true schema: type: string - name: lazy_regen in: query required: false schema: type: boolean default: true security: [] responses: 202: description: An entitlement certificate is being regenerated content: application/json: schema: $ref: '#/components/schemas/AsyncJobStatusDTO' default: $ref: '#/components/responses/default' /entitlements/{entitlement_id}/migrate: put: description: Migrate entitlements from one distributor consumer to another. Can specify full or partial quantity. No specified quantity will lead to full migration of the entitlement. operationId: migrateEntitlement tags: - entitlements parameters: - name: entitlement_id in: path required: true schema: type: string - name: to_consumer in: query required: false schema: type: string - name: quantity in: query required: false schema: type: integer security: [] x-java-response: type: javax.ws.rs.core.Response isContainer: false responses: 200: description: Entitlements successfuly migrated content: application/json: schema: type: array items: $ref: '#/components/schemas/EntitlementDTO' 400: description: | Entitlement migration is not permissible for units this type. Source and destination units must belong to the same organization. The entitlement cannot be utilized by the destination unit. The quantity specified must be greater than zero and less than or equal to the total for this entitlement. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Source and destination units must belong to the same organization requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Entitlement could not be found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Entitlement with ID "test_uuid" could not be found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /hypervisors/{owner}: post: tags: - hypervisors description: Creates or Updates the list of Hypervisor hosts Allows agents such as virt-who to update hosts' information . This is typically used when a host is unable to register to candlepin via subscription manager. In situations where consumers already exist it is probably best not to allow creation of new hypervisor consumers. Most consumers do not have a hypervisorId attribute, so that should be added manually when necessary by the management environment. Default is true. If false is specified, hypervisorIds that are not found will result in a failed state of the job. operationId: hypervisorUpdateAsync security: [] requestBody: description: Host and Guest mapping details content: text/plain: schema: type: string parameters: - name: owner in: path description: Owner key required: true schema: type: string - name: create_missing in: query description: Specify whether or not to create missing hypervisors. Default is true. If false is specified, hypervisorIds that are not found will result in failed entries in the resulting HypervisorCheckInResult. schema: type: boolean default: true - name: reporter_id in: query schema: type: string responses: 200: description: A successful operation content: application/json: schema: $ref: '#/components/schemas/AsyncJobStatusDTO' 400: description: Host to guest mapping was not provided for hypervisor update. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Host to guest mapping was not provided for hypervisor update. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner with provided key was not found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner with provided key was not found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /hypervisors/{owner}/heartbeat: put: tags: - hypervisors description: Updates last check in date of all consumers of the given reporterId. operationId: hypervisorHeartbeatUpdate security: [] parameters: - name: owner in: path description: Owner key required: true schema: type: string - name: reporter_id in: query schema: type: string responses: 200: description: A successful operation content: application/json: schema: $ref: '#/components/schemas/AsyncJobStatusDTO' 400: description: Provided reporter_id is absent or empty. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Provided reporter_id is absent or empty. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner with provided key was not found. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner with provided key was not found. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /jobs: get: description: Fetches a set of job statuses matching the given filter options tags: - jobs operationId: listJobStatuses parameters: - in: query name: id schema: type: array uniqueItems: true items: type: string description: Filter jobs based on ids - in: query name: key schema: type: array uniqueItems: true items: type: string description: Filter jobs based on keys - in: query name: state schema: type: array uniqueItems: true items: type: string description: Filter jobs based on statuses - in: query name: owner schema: type: array uniqueItems: true items: type: string description: Filter jobs based on owners - in: query name: principal schema: type: array uniqueItems: true items: type: string description: Filter jobs based on principals - in: query name: origin schema: type: array uniqueItems: true items: type: string description: Filter jobs based on origins - in: query name: executor schema: type: array uniqueItems: true items: type: string description: Filter jobs based on executors - in: query name: after schema: type: string format: date-time description: Filter jobs to those on or after this date - in: query name: before schema: type: string format: date-time description: Filter jobs to those on or before this date - $ref: "#/components/parameters/paging_page" - $ref: "#/components/parameters/paging_per_page" - $ref: "#/components/parameters/paging_order" - $ref: "#/components/parameters/paging_sort_by" x-java-response: type: java.util.stream.Stream isContainer: true security: [] responses: 200: description: A set of job statuses matching the given filter options content: application/json: schema: type: array items: $ref: '#/components/schemas/AsyncJobStatusDTO' 400: description: Invalid date range. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid date range. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Unknown job states. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Unknown job states. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Cleans up terminal jobs matching the provided criteria tags: - jobs operationId: cleanupTerminalJobs parameters: - in: query name: id schema: type: array uniqueItems: true items: type: string description: Cleans up jobs based on ids - in: query name: key schema: type: array uniqueItems: true items: type: string description: Cleans up jobs based on keys - in: query name: state schema: type: array uniqueItems: true items: type: string description: Cleans up jobs based on statuses - in: query name: owner schema: type: array uniqueItems: true items: type: string description: Cleans up jobs based on owners - in: query name: principal schema: type: array uniqueItems: true items: type: string description: Cleans up jobs based on principals - in: query name: origin schema: type: array uniqueItems: true items: type: string description: Cleans up jobs based on origins - in: query name: executor schema: type: array uniqueItems: true items: type: string description: Cleans up jobs based on executors - in: query name: after schema: type: string format: date-time description: Cleans up jobs to those on or after this date - in: query name: before schema: type: string format: date-time description: Cleans up jobs to those on or before this date - in: query name: force schema: type: boolean default: false description: Cleans up job forcefully security: [] responses: 200: description: Cleaned up jobs count content: application/json: schema: type: integer 400: description: Invalid date range content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid date range requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Unknown job states content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Unknown job states requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /jobs/{id}: get: description: Fetches the job status associated with the specified job ID tags: - jobs operationId: getJobStatus parameters: - in: path name: id description: The ID of the job to retrieve required: true schema: type: string security: [] responses: 200: description: Job status associated with the specified job ID content: application/json: schema: $ref: '#/components/schemas/AsyncJobStatusDTO' 400: description: Job ID is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Job ID is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: A job could not be found using the provided ID content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: A job could not be found using the provided ID requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Cancels the job associated with the specified job ID tags: - jobs operationId: cancelJob parameters: - in: path name: id description: The ID of the job to cancel required: true schema: type: string security: [] responses: 200: description: Job status associated with the specified job ID content: application/json: schema: $ref: '#/components/schemas/AsyncJobStatusDTO' 400: description: Job ID is null or empty or job is already in a terminal state or otherwise cannot be canceled at this time content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Job ID is null or empty. job is already in a terminal state or otherwise cannot be canceled at this time requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: A job could not be found using the provided ID content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: A job could not be found using the provided ID requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /jobs/scheduler: get: description: Fetches the status of the job scheduler for this Candlepin node tags: - jobs operationId: getSchedulerStatus security: [] responses: 200: description: Status of the job scheduler for this Candlepin node content: application/json: schema: $ref: '#/components/schemas/SchedulerStatusDTO' default: $ref: '#/components/responses/default' post: description: Enables or disables the job scheduler for this Candlepin node tags: - jobs parameters: - in: query name: running description: Boolean value to set running status schema: type: boolean default: true operationId: setSchedulerStatus security: [] responses: 200: description: Status of the job scheduler for this Candlepin node content: application/json: schema: $ref: '#/components/schemas/SchedulerStatusDTO' 500: description: Error setting scheduler status content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Error setting scheduler status requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /jobs/schedule/{jobKey}: post: description: Schedules a job using the specified key and job properties tags: - jobs parameters: - in: path name: jobKey description: Job key required: true schema: type: string operationId: scheduleJob security: [] responses: 200: description: Status of the job scheduler for this Candlepin node content: application/json: schema: $ref: '#/components/schemas/AsyncJobStatusDTO' 400: description: Job key is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Job key is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 403: description: Job is not configured for manual scheduling content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Job is not configured for manual scheduling requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 500: description: An unexpected exception has occurred while scheduling job content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An unexpected exception has occurred while scheduling job requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners: get: description: Retrieves a list of owners that match the key provided, or all owners if no key was provided tags: - owner operationId: listOwners x-java-response: type: Iterable isContainer: true parameters: - name: key in: query description: The owner key required: false schema: type: string security: [] responses: 200: description: A list of owners content: application/json: schema: type: array items: $ref: '#/components/schemas/OwnerDTO' default: $ref: '#/components/responses/default' post: description: Creates an owner tags: - owner operationId: createOwner security: [] requestBody: description: Owner to be created required: true content: application/json: schema: $ref: '#/components/schemas/OwnerDTO' responses: 200: description: Owner successfully created content: application/json: schema: $ref: '#/components/schemas/OwnerDTO' 400: description: | Invalid inputs, Owner cannot be created. Reasons could be, invalid key or the default service level is specified or the owner content access mode and content access mode list cannot be set directly in standalone mode content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: | Invalid inputs, Owner cannot be created. Reasons could be, invalid key or the default service level is specified or the owner content access mode and content access mode list cannot be set directly in standalone mode requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}: get: description: Retrieves a single owner tags: - owner operationId: getOwner parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string security: [] responses: 200: description: Owner successfully retrieved content: application/json: schema: $ref: '#/components/schemas/OwnerDTO' 404: description: An owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' put: description: | Updates an owner. Note: To un-set the defaultServiceLevel for an owner, submit an empty string. tags: - owner operationId: updateOwner security: [] parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string requestBody: description: Owner to be updated required: true content: application/json: schema: $ref: '#/components/schemas/OwnerDTO' responses: 200: description: Owner successfully updated content: application/json: schema: $ref: '#/components/schemas/OwnerDTO' 400: description: | Invalid inputs, Owner cannot be updated. Reasons could be, invalid key or the owner content access mode and content access mode list cannot be set directly in standalone mode content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: | Invalid inputs, Owner cannot be updated. Reasons could be, invalid key or the owner content access mode and content access mode list cannot be set directly in standalone mode requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: An owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Removes an owner tags: - owner operationId: deleteOwner parameters: - name: owner_key in: path description: The owner key required: true schema: type: string - name: revoke in: query description: Boolean value to revoke an owner schema: type: boolean default: true - name: force in: query description: Boolean value to forcefully delete an owner. This is not in use. schema: type: boolean default: false security: [] responses: 204: description: Owner successfully deleted 404: description: An owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 409: description: Conflict occured while owner deleting an owner content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Conflict occured while owner deleting an owner requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/activation_keys: get: description: Retrieves a list of activation keys for an owner tags: - owner operationId: ownerActivationKeys x-java-response: type: Iterable isContainer: true parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string - name: name in: query description: The name of the activation key schema: type: string security: [] responses: 200: description: Activation keys successfully retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/ActivationKeyDTO' 400: description: Owner key is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: An owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' post: description: Creates an activation key for the owner tags: - owner operationId: createActivationKey security: [] parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string requestBody: description: Activation key to be created required: true content: application/json: schema: $ref: '#/components/schemas/ActivationKeyDTO' responses: 200: description: Activation key for the owner successfully created content: application/json: schema: $ref: '#/components/schemas/ActivationKeyDTO' 400: description: | Invalid inputs, activation key cannot be created. Reasons could be, The activation key name is already in use for owner or the activation key name must be alphanumeric or include the characters - or _ or the name for activation key is not provided or owner key is not provided content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: | Invalid inputs, activation key cannot be created. Reasons could be, The activation key name is already in use for owner or the activation key name must be alphanumeric or include the characters - or _ or the name for activation key is not provided or owner key is not provided requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: An owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/content: get: description: | Retrieves a list of contents within the given organization's namespace, optionally filtered by a list of content IDs. tags: - owner_content operationId: getContentsByOwner security: [] x-java-response: type: java.util.stream.Stream isContainer: true parameters: - name: owner_key in: path description: Owner key required: true schema: type: string - name: content in: query description: | The ID of a content to fetch. If defined, the list of contents returned by this method will only include those matching the given ID. May be specified multiple times to filter on multiple content IDs. required: false schema: type: array items: type: string - name: omit_global in: query description: | whether or not to limit the lookup to only contents defined within the organization's namespace, excluding any globally defined contents required: false schema: type: boolean default: false responses: 200: description: Content successfully listed content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentDTO' 404: description: Owner key is null, empty or could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key is null, empty or could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' post: description: Creates a content for owner tags: - owner_content operationId: createContent security: [] parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string requestBody: description: Content to be created required: true content: application/json: schema: $ref: '#/components/schemas/ContentDTO' responses: 200: description: Created a content content: application/json: schema: $ref: '#/components/schemas/ContentDTO' 400: description: Invalid inputs, Content cannot be created content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid inputs, Content cannot be created requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/content/{content_id}: get: description: Retrieves a single content tags: - owner_content operationId: getContentById security: [] parameters: - name: owner_key in: path description: The key of the owner whose content has to be retrieved required: true schema: type: string - name: content_id in: path description: The id of the content to be retrieved required: true schema: type: string responses: 200: description: Content content: application/json: schema: $ref: '#/components/schemas/ContentDTO' 400: description: Owner Key or ID of the Content is null, empty or could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner Key or ID of the Content is null, empty or could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' put: description: Updates a Content tags: - owner_content operationId: updateContent security: [] parameters: - name: owner_key in: path description: The key of the owner to be updated required: true schema: type: string - name: content_id in: path description: The ID of the Content to be updated required: true schema: type: string requestBody: description: Content to be updated required: true content: application/json: schema: $ref: '#/components/schemas/ContentDTO' responses: 200: description: Updated content content: application/json: schema: $ref: '#/components/schemas/ContentDTO' 400: description: Invalid inputs, could not update content content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid inputs, could not update Content requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Deletes a Content tags: - owner_content operationId: removeContent security: [] parameters: - name: owner_key in: path description: The key of the owner whose content has to be deleted required: true schema: type: string - name: content_id in: path description: The ID of the content to be deleted required: true schema: type: string responses: 204: description: A successful operation 400: description: Invalid inputs, content could not be deleted content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid inputs, content could not be deleted requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/content/batch: post: description: Creates Contents in bulk tags: - owner_content operationId: createContentBatch x-java-response: type: java.util.stream.Stream isContainer: true security: [] parameters: - name: owner_key in: path description: key of the owner whose content has to be created required: true schema: type: string requestBody: description: List of contents to be created required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentDTO' responses: 200: description: Contents created content: application/json: schema: $ref: '#/components/schemas/ContentDTO' 400: description: Invalid inputs, could not create content content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid inputs, could not create content requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/consumers: get: description: Retrieves a list of Consumers for the Owner tags: - owner operationId: listConsumers x-java-response: type: java.util.stream.Stream isContainer: true parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string - name: username in: query description: The username of the consumer schema: type: string - name: type in: query description: The consumer type schema: type: array uniqueItems: true items: type: string - name: uuid in: query description: The UUID of consumers schema: type: array items: type: string - name: hypervisor_id in: query description: The hypervisor IDs schema: type: array items: type: string - name: fact in: query description: The consumer facts schema: type: array items: type: string format: key:value - $ref: "#/components/parameters/paging_page" - $ref: "#/components/parameters/paging_per_page" - $ref: "#/components/parameters/paging_order" - $ref: "#/components/parameters/paging_sort_by" security: [] responses: 200: description: Consumers successfully retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/ConsumerDTOArrayElement' 400: description: Owner key is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: An owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/consumers/count: get: description: Retrieves a count of consumers for the owner tags: - owner operationId: countConsumers parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string - name: username in: query description: The username of the consumer schema: type: string - name: type in: query description: The consumer type schema: type: array uniqueItems: true items: type: string - name: uuid in: query description: The UUID of consumers schema: type: array items: type: string - name: hypervisor_id in: query description: The hypervisor IDs schema: type: array items: type: string security: [] responses: 200: description: Consumer counts successfully retrieved content: application/json: schema: type: integer 400: description: Owner key is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: An owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/consumers_system_purpose: get: description: Retrieves an aggregate of the system purpose settings of the owner's consumers tags: - owner operationId: getConsumersSyspurpose security: [] parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string responses: 200: description: The system purpose settings sucessfully retrieved content: application/json: schema: $ref: '#/components/schemas/SystemPurposeAttributesDTO' 400: description: Owner key is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner key could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/content_access: get: description: Retrieves content access of an Owner tags: - owner operationId: getOwnerContentAccess security: [ ] parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string responses: 200: description: Returns content access of an owner. content: application/json: schema: $ref: '#/components/schemas/ContentAccessDTO' 404: description: Owner was not found! content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner was not found! requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/entitlements: get: description: | Retrieves the list of entitlements for an owner. This endpoint supports paging with query parameters. For more details please visit https://www.candlepinproject.org/docs/candlepin/pagination.html#paginating-results-from-candlepin tags: - owner operationId: ownerEntitlements parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string - name: product in: query description: The product id schema: type: string - name: attribute in: query description: Attribute filters required: false schema: type: array items: type: string format: key:value - $ref: "#/components/parameters/paging_page" - $ref: "#/components/parameters/paging_per_page" - $ref: "#/components/parameters/paging_order" - $ref: "#/components/parameters/paging_sort_by" security: [] responses: 200: description: Entitlement details successfully retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/EntitlementDTO' 404: description: An owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' post: description: | Starts an asynchronous healing for the given Owner. At the end of the process the idea is that all of the consumers in the owned by the owner will be up to date. tags: - owner operationId: healEntire parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string security: [] responses: 200: description: The Owner is being healed content: application/json: schema: $ref: '#/components/schemas/AsyncJobStatusDTO' 404: description: An owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/environments: get: description: Retrieves a list of environment for an owner tags: - owner operationId: listEnvironments x-java-response: type: java.util.stream.Stream isContainer: true parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string - name: name in: query description: The name of the environment schema: type: string - name: type in: query description: The type of the environments schema: type: array items: type: string - name: list_all in: query description: List all boolean for environments of all types schema: type: boolean default: false security: [] responses: 200: description: Environments successfully retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/EnvironmentDTO' 404: description: An owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' post: description: Creates an environment for the owner tags: - owner operationId: createEnv security: [] parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string requestBody: description: Environment to be created required: true content: application/json: schema: $ref: '#/components/schemas/EnvironmentDTO' responses: 200: description: Environment for the owner successfully created content: application/json: schema: $ref: '#/components/schemas/EnvironmentDTO' 404: description: An owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/hypervisors: get: description: Retrieves a list of hypervisors for an owner tags: - owner operationId: getHypervisors security: [] x-java-response: type: Iterable isContainer: true parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string - name: hypervisor_id in: query description: The list of hypervisor Ids required: false schema: type: array items: type: string responses: 200: description: A list of hypervisors successfully retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/ConsumerDTOArrayElement' 404: description: An owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/imports: get: description: Retrieves a list of import records for an owner tags: - owner operationId: getImports security: [] x-java-response: type: java.util.stream.Stream isContainer: true parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string responses: 200: description: Import records successfully retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/ImportRecordDTO' 400: description: Owner key is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: An import owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An import owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: | Removes Imports for an Owner. Cleans out all imported subscriptions and triggers a background refresh pools. Link to an upstream distributor is removed for the owner, so they can import from another distributor. Other owners can also now import the manifests originally used in this owner. This call does not differentiate between any specific import, it just destroys all subscriptions with an upstream pool ID, essentially anything from an import. Custom subscriptions will be left alone. Imports do carry rules and product information which is global to the candlepin server. This import data is *not* undone, we assume that updates to this data can be safely kept. tags: - owner operationId: undoImports parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string security: [ ] responses: 200: description: Imports for an Owner successfully removed content: application/json: schema: $ref: '#/components/schemas/AsyncJobStatusDTO' 404: description: An import owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An import owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/imports/async: post: description: | Initiates an asynchronous manifest import for the given organization. This will bring in any products, content, and subscriptions that were assigned to the distributor who generated the manifest. tags: - owner operationId: importManifestAsync security: [] requestBody: description: A manifest file to be imported required: true content: multipart/form-data: schema: properties: input: type: string format: binary parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string - name: force in: query description: This is used to override the conflicts schema: type: array items: type: string responses: 200: description: Manifest successfully imported content: application/json: schema: $ref: '#/components/schemas/AsyncJobStatusDTO' 400: description: Owner key is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: An import owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An import owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 500: description: | Internal server error. Reasons could be, An unexpected exception occurred while scheduling job or error reading export archive or error storing uploaded archive for asynchronous processing content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: | Internal server error. Reasons could be, An unexpected exception occurred while scheduling job or error reading export archive or error storing uploaded archive for asynchronous processing requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/info: get: description: Retrieves the Owner Info for an Owner tags: - owner operationId: getOwnerInfo parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string security: [] responses: 200: description: Owner info successfully retrieved content: application/json: schema: $ref: '#/components/schemas/OwnerInfo' 404: description: An owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/log: put: description: Sets the log level for an owner tags: - owner operationId: setLogLevel security: [] parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string - name: level in: query description: The log level required: false schema: type: string default: DEBUG enum: - ALL - TRACE - DEBUG - INFO - WARN - ERROR - OFF responses: 200: description: Log level successfully set content: application/json: schema: $ref: '#/components/schemas/OwnerDTO' 400: description: | Provided level is not a valid log level or owner key is not provided content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: | Provided level is not a valid log level or owner key is not provided requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: An owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Remove the log level of an owner tags: - owner operationId: deleteLogLevel parameters: - name: owner_key in: path description: The owner key required: true schema: type: string security: [] responses: 204: description: Owner log level successfully removed 404: description: An owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/pools: get: description: | Retrieves a list of Pools for an Owner. This endpoint supports paging with query parameters. For more details please visit https://www.candlepinproject.org/docs/candlepin/pagination.html#paginating-results-from-candlepin tags: - owner operationId: listOwnerPools x-java-response: type: java.util.stream.Stream isContainer: true parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string - name: consumer in: query description: The consumer UUID schema: type: string - name: activation_key in: query description: The activation key name schema: type: string - name: product in: query description: The product id schema: type: string - name: subscription in: query description: The subscription id schema: type: string - name: listall in: query description: | Includes pools which are not applicable based on some of the consumer's current system facts (i.e. system architecture, sockets, cores, ram, storage_band, instance_multiplier), but will still filter pools based on other factors, such as pools restricted to a consumer of specific types, usernames, or uuids; pools restricted to guests of specific hosts; non-multi-entitlement pools that the consumer has already attached; unmapped guest pools for which the consumer is ineligible; and expired pools. schema: type: boolean default: false - name: activeon in: query description: Active on date schema: type: string format: date-time - name: matches in: query description: | Find pools matching the given pattern in a variety of fields * and ? wildcards are supported; may be specified multiple times schema: type: array items: type: string - name: attribute in: query description: The attributes to return based on the specified types schema: type: array items: type: string format: key:value - name: add_future in: query description: | When set to true, it will add future dated pools to the result, based on the activeon date schema: type: boolean default: false - name: only_future in: query description: | When set to true, it will return only future dated pools to the result, based on the activeon date schema: type: boolean default: false - name: after in: query description: | Will only return pools with a start date after the supplied date. Overrides the activeOn date schema: type: string format: date-time - name: poolid in: query description: | One or more pool IDs to use to filter the output; only pools with IDs matching those provided will be returned; may be specified multiple times schema: type: array items: type: string - $ref: "#/components/parameters/paging_page" - $ref: "#/components/parameters/paging_per_page" - $ref: "#/components/parameters/paging_order" - $ref: "#/components/parameters/paging_sort_by" security: [] responses: 200: description: Pools successfully retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/PoolDTO' 400: description: Invalid inputs, pools cannot be listed. Reasons could be, Owner key is null or empty or the consumer specified does not belong to owner on path or activationKey could not be found with provided key or the flags add_future and only_future cannot be used at the same time or the flags add_future and only_future cannot be used with the parameter after content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid inputs, pools cannot be listed. Reasons could be, Owner key is null or empty or the consumer specified does not belong to owner on path or activationKey could not be found with provided key or the flags add_future and only_future cannot be used at the same time or the flags add_future and only_future cannot be used with the parameter after requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 403: description: User cannot access the consumer content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: User cannot access the consumer requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: | Invalid inputs, pools cannot be listed. Reasons could be, An owner could not be found using the provided key or the consumer not found using the provided uuid content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: | Invalid inputs, pools cannot be listed. Reasons could be, An owner could not be found using the provided key or the consumer not found using the provided uuid requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' post: description: | Creates a custom pool for an Owner. Floating pools are not tied to any upstream subscription, and are most commonly used for custom content delivery in Satellite. Also helps in on-site deployment testing tags: - owner operationId: createPool security: [] parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string requestBody: description: A pool to be created required: true content: application/json: schema: $ref: '#/components/schemas/PoolDTO' responses: 200: description: Pool successfully created content: application/json: schema: $ref: '#/components/schemas/PoolDTO' 400: description: | Invalid inputs, pool cannot be created. Reasons could be, Owner key is null or empty or Pool product ID not specified content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid inputs, pool cannot be created. Reasons could be, Owner key is null or empty or Pool product ID not specified requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: An owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' put: description: | Updates a pool for an Owner. Assumes this is a normal pool, and errors out otherwise cause we cannot create primary pools from bonus pools tags: - owner operationId: updatePool security: [] parameters: - name: owner_key in: path description: Owner key required: true schema: type: string requestBody: description: A pool to be updated required: true content: application/json: schema: $ref: '#/components/schemas/PoolDTO' responses: 200: description: Pool successfully updated 400: description: | Invalid inputs, pool cannot be updated. Reasons could be, Owner key is null or empty or Pool product ID not specified or cannot update bonus pools, as they are auto generated content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: | Invalid inputs, pool cannot be updated. Reasons could be, Owner key is null or empty or Pool product ID not specified or cannot update bonus pools, as they are auto generated requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: | Invalid inputs, pool cannot be created. Reasons could be, An owner could not be found using the provided key or pool could not be found using provided pool with the ID or provided pool does not belong to the specified owner content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: | Invalid inputs, pool cannot be created. Reasons could be, An owner could not be found using the provided key or pool could not be found using provided pool with the ID or provided pool does not belong to the specified owner requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/products: get: description: | Retrieves a list of products within the given organization's namespace, optionally filtered by a list of product IDs. tags: - owner_product operationId: getProductsByOwner security: [] x-java-response: type: java.util.stream.Stream isContainer: true parameters: - name: owner_key in: path description: Owner key required: true schema: type: string - name: product in: query description: | The ID of a product to fetch. If defined, the list of products returned by this method will only include those matching the given ID. May be specified multiple times to filter on multiple product IDs. required: false schema: type: array items: type: string - name: omit_global in: query description: | whether or not to limit the lookup to only products defined within the organization's namespace, excluding any globally defined products required: false schema: type: boolean default: false responses: 200: description: Retrieves a list of products by owner content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductDTO' 404: description: Owner key could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' post: description: Creates a product for an owner tags: - owner_product operationId: createProduct security: [] parameters: - name: owner_key in: path description: Owner key required: true schema: type: string requestBody: description: A product to be created required: true content: application/json: schema: $ref: '#/components/schemas/ProductDTO' responses: 200: description: Product successfully created. content: application/json: schema: $ref: '#/components/schemas/ProductDTO' 400: description: Invalid inputs, unable to create product content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid inputs, unable to create product requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/products/{product_id}: get: description: Retrieves a single product for an owner tags: - owner_product operationId: getProductById security: [] parameters: - name: owner_key in: path description: Owner key required: true schema: type: string - name: product_id in: path description: Product ID required: true schema: type: string responses: 200: description: Retrieves a single product for an owner content: application/json: schema: $ref: '#/components/schemas/ProductDTO' 404: description: Owner key or product ID could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key or product ID could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' put: description: Updates a product for an owner tags: - owner_product operationId: updateProduct security: [] parameters: - name: owner_key in: path description: Owner key required: true schema: type: string - name: product_id in: path description: Product ID required: true schema: type: string requestBody: description: Product to be updated required: true content: application/json: schema: $ref: '#/components/schemas/ProductDTO' responses: 200: description: A successful operation content: application/json: schema: $ref: '#/components/schemas/ProductDTO' 400: description: Invalid inputs, unable to update product content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid inputs, unable to update product requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner key could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Removes a product for an owner tags: - owner_product operationId: removeProduct security: [] parameters: - in: path name: owner_key description: Owner key required: true schema: type: string - in: path name: product_id description: Product ID required: true schema: type: string responses: 204: description: Product successfully deleted. 400: description: Product cannot be deleted while subscriptions exists content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Product cannot be deleted while subscriptions exists requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner key or product ID could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key or product ID could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/products/{product_id}/subscriptions: put: description: Refreshes Pools by Product tags: - owner_product operationId: refreshPoolsForProduct security: [] parameters: - name: owner_key in: path description: Owner key required: true schema: type: string - name: product_id in: path description: Product ID required: true schema: type: string - name: lazy_regen in: query description: Regenerate certificates immediatelly or allow them to be regenerated on demand required: true schema: type: boolean default: true responses: 200: description: A successful operation content: application/json: schema: $ref: '#/components/schemas/AsyncJobStatusDTO' 400: description: Unable to fulfill refresh pools request content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Unable to fulfill refresh pools request requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner key or product ID could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key or product ID could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/products/{product_id}/certificate: get: description: Retrieves a product certificate for an owner tags: - owner_product operationId: getProductCertificateById security: [] parameters: - name: owner_key in: path description: Owner key required: true schema: type: string - name: product_id in: path description: Product ID required: true schema: type: string responses: 200: description: Retrieves a product certificate for an owner content: application/json: schema: $ref: '#/components/schemas/ProductCertificateDTO' 400: description: Only numeric product IDs are allowed content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Only numeric product IDs are allowed requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner key or product ID could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key or product ID could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/products/{product_id}/content/{content_id}: post: description: Adds content to a product tags: - owner_product operationId: addContentToProduct security: [] parameters: - name: owner_key in: path description: Owner key required: true schema: type: string - name: product_id in: path description: Product ID required: true schema: type: string - name: content_id in: path description: Content ID required: true schema: type: string - name: enabled in: query description: Content enabled flag required: true schema: type: boolean responses: 200: description: Content added to a product content: application/json: schema: $ref: '#/components/schemas/ProductDTO' 400: description: Invalid inputs, unable to add content content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid inputs, unable to add content requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner key could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Removes a single Content from a product tags: - owner_product operationId: removeContentFromProduct security: [] parameters: - in: path name: owner_key description: Owner key required: true schema: type: string - in: path name: product_id description: Product ID required: true schema: type: string - in: path name: content_id description: Content ID required: true schema: type: string responses: 200: description: Content removed from a product content: application/json: schema: $ref: '#/components/schemas/ProductDTO' 400: description: Invalid inputs, unable to remove content content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid inputs, unable to remove content requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner key could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/products/{product_id}/batch_content: post: description: Adds content to a product in bulk tags: - owner_product operationId: addContentsToProduct security: [] parameters: - name: owner_key in: path description: Owner key required: true schema: type: string - name: product_id in: path description: Product ID required: true schema: type: string requestBody: description: Content map required: true content: application/json: schema: type: object additionalProperties: type: boolean responses: 200: description: Content added to a product content: application/json: schema: $ref: '#/components/schemas/ProductDTO' 400: description: Invalid inputs, unable to add content content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid inputs, unable to add content requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner key could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Removes content from a product in batch tags: - owner_product operationId: removeContentsFromProduct security: [] parameters: - in: path name: owner_key description: Owner key required: true schema: type: string - in: path name: product_id description: Product ID required: true schema: type: string requestBody: description: Content IDs required: true content: application/json: schema: type: array items: type: string responses: 200: description: Content removed from a product content: application/json: schema: $ref: '#/components/schemas/ProductDTO' 400: description: Invalid inputs, unable to remove content content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Invalid inputs, unable to remove content requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner key could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/servicelevels: get: description: Retrieves a list of support levels for an owner tags: - owner operationId: ownerServiceLevels security: [] x-java-response: type: Iterable isContainer: true parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string - name: exempt in: query description: exempt schema: type: string default: false responses: 200: description: A list of support levels for an owner content: application/json: schema: type: array items: type: string 400: description: Owner key is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner key could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/subscriptions: get: description: Retrieves a list of subscriptions for an owner tags: - owner operationId: getOwnerSubscriptions security: [] x-java-response: type: Iterable isContainer: true parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string responses: 200: description: A list of subscriptions for an owner content: application/json: schema: type: array items: $ref: '#/components/schemas/SubscriptionDTO' 400: description: Owner key is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner key could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' put: description: | Triggers an asynchronous "refresh" operation, updating the entitlement and subscription information for the specified owner. This endpoint is only functional in hosted mode, and no operation will be triggered when called in a standalone, or on-site, deployment. tags: - owner operationId: refreshPools security: [] parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string - name: auto_create_owner in: query description: Specify whether or not to create an owner automatically. Default is false. schema: type: boolean default: false responses: 200: description: A successful operation content: application/json: schema: $ref: '#/components/schemas/AsyncJobStatusDTO' 404: description: Owner key could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/system_purpose: get: description: Retrieves the system purpose settings available to an owner tags: - owner operationId: getSyspurpose security: [] parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string responses: 200: description: The details of system purpose settings for an owner content: application/json: schema: $ref: '#/components/schemas/SystemPurposeAttributesDTO' 400: description: Owner key is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner key could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/uebercert: get: description: Retrieves the Ueber Entitlement Certificate tags: - owner operationId: getUeberCertificate parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string security: [] responses: 200: description: Ueber Entitlement Certificate for the owner successfully retrieved content: application/json: schema: $ref: '#/components/schemas/UeberCertificateDTO' 404: description: | An owner could not be found using the provided key or Uber certificate for owner was not found. Please generate one. content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: | An owner could not be found using the provided key or Uber certificate for owner was not found. Please generate one. requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' post: description: | Creates an Ueber Entitlement Certificate. If a certificate already exists, it will be regenerated. tags: - owner operationId: createUeberCertificate security: [] parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string responses: 200: description: Ueber Entitlement Certificate for the owner successfully created content: application/json: schema: $ref: '#/components/schemas/UeberCertificateDTO' 400: description: Problem generating ueber cert for an owner content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Problem generating ueber cert for an owner requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: An owner could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An owner could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{owner_key}/upstream_consumers: get: description: Retrieves a list of upstream consumers for an owner tags: - owner operationId: getUpstreamConsumers security: [] x-java-response: type: Iterable isContainer: true parameters: - name: owner_key in: path description: The key of the owner required: true schema: type: string responses: 200: description: A list of upstream consumers successfully retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/UpstreamConsumerDTOArrayElement' 400: description: Owner key is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner key could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /owners/{anonymous_owner_key}/claim: put: description: Claims consumers of an anonymous owner and migrates them to the claimant owner tags: - owner operationId: claim security: [] parameters: - name: anonymous_owner_key in: path description: The key of the owner required: true schema: type: string requestBody: description: Claimant owner required: true content: application/json: schema: $ref: '#/components/schemas/ClaimantOwner' responses: 200: description: A job to migrate consumers has been scheduled. content: application/json: schema: $ref: '#/components/schemas/AsyncJobStatusDTO' 400: description: Owner key is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Owner key could not be found using the provided key content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Owner key could not be found using the provided key requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /products: get: tags: - products description: Retrieves list containing all known products operationId: getProducts x-java-response: type: Iterable isContainer: true security: [] responses: 200: description: product list successfully returned content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductDTO' default: $ref: '#/components/responses/default' /products/{product_uuid}: get: description: Retrieves a single Product tags: - products operationId: getProductByUuid parameters: - in: path name: product_uuid description: The product UUID required: true schema: type: string security: [] responses: 200: description: A single product content: application/json: schema: $ref: '#/components/schemas/ProductDTO' 404: description: Product not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Product not found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /pools: get: description: | Retrieves a list of pools @deprecated Use the method on /owners. This endpoint supports paging with query parameters. For more details please visit https://www.candlepinproject.org/docs/candlepin/pagination.html#paginating-results-from-candlepin. tags: - pools operationId: listPools parameters: - in: query name: owner description: Owner ID required: false schema: type: string - in: query name: consumer description: Consumer UUID required: false schema: type: string - in: query name: product description: Product ID required: false schema: type: string - in: query name: listall description: | Use with consumerUuid to list all pools available to the consumer. This will include pools which would otherwise be omitted due to a rules warning. (i.e. not recommended) Pools that trigger an error however will still be omitted. (no entitlements available, consumer type mismatch, etc) required: false schema: type: boolean default: false - in: query name: activeon description: Uses ISO 8601 format required: false schema: type: string format: date-time - $ref: "#/components/parameters/paging_page" - $ref: "#/components/parameters/paging_per_page" - $ref: "#/components/parameters/paging_order" - $ref: "#/components/parameters/paging_sort_by" security: [] responses: 200: description: A list of pools content: application/json: schema: type: array items: $ref: '#/components/schemas/PoolDTO' 400: description: | Both consumer(unit) and owner are given, or a product id is specified without a consumer(unit) or owner content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: | Both consumer(unit) and owner are given, or a product id is specified without a consumer(unit) or owner requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 403: description: Users cannot access either of the consumer, owner, or pools content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Users cannot access either of the consumer, owner, or pools requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Specified consumer(unit) or owner is not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Specified consumer(unit) or owner is not found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /pools/{pool_id}: get: description: Retrieves a single pool tags: - pools operationId: getPool parameters: - in: path name: pool_id description: Pool ID required: true schema: type: string - in: query name: consumer description: Consumer UUID required: false schema: type: string - in: query name: activeon description: Uses ISO 8601 format required: false schema: type: string format: date-time responses: 200: description: Retrieves a single pool by its ID content: application/json: schema: $ref: '#/components/schemas/PoolDTO' 403: description: Users cannot access consumer(unit) content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Users cannot access consumer(unit) requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Subscription pool or consumer(unit) not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Subscription pool or consumer(unit) not found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Removes a pool tags: - pools operationId: deletePool parameters: - in: path name: pool_id description: Pool ID required: true schema: type: string responses: 204: description: Pool removed successfully 400: description: Cannot delete bonus pools, as they are auto generated content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Cannot delete bonus pools, as they are auto generated requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Subscription pool not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Subscription pool not found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /pools/{pool_id}/cdn: get: description: Retrieve a CDN for a Pool tags: - pools operationId: getPoolCdn parameters: - in: path name: pool_id description: Pool ID required: true schema: type: string responses: 200: description: CDN details for a Pool content: application/json: schema: $ref: '#/components/schemas/CdnDTO' 404: description: Subscription pool with given ID could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Subscription pool with given ID could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /pools/{pool_id}/entitlements: get: description: Retrieve a list of entitlements for a pool tags: - pools operationId: getPoolEntitlements parameters: - in: path name: pool_id description: Pool ID required: true schema: type: string x-java-response: type: Iterable isContainer: true security: [] responses: 200: description: A list of entitlements content: application/json: schema: type: array items: $ref: '#/components/schemas/EntitlementDTO' 404: description: Subscription pool with given ID could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Subscription pool with given ID could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /pools/{pool_id}/entitlements/consumer_uuids: get: description: Retrieve a list of Consumer UUIDs attached to a pool. Available only to superadmins tags: - pools operationId: listEntitledConsumerUuids parameters: - in: path name: pool_id description: Pool ID required: true schema: type: string responses: 200: description: A list of consumer UUIDs content: application/json: schema: type: array items: type: string 404: description: Subscription pool with given ID could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Subscription pool with given ID could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /pools/{pool_id}/cert: get: description: | Retrieves a Subscription Certificate as JSON (when Content-Type is application/json) or as PEM (when Content-Type is text/plain) tags: - pools operationId: getSubCert parameters: - in: path name: pool_id description: Pool ID required: true schema: type: string responses: 200: description: Certificate details for a Pool content: text/plain: schema: type: object application/json: schema: $ref: '#/components/schemas/CertificateDTO' 404: description: Pool or certificate for given ID could not be found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Pool or certificate for given ID could not be found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /products/subscriptions: put: description: Refreshes Pools by Product tags: - products operationId: refreshPoolsForProducts parameters: - in: query name: product description: Multiple product Ids required: true schema: type: array items: type: string - in: query name: lazy_regen description: Regenerate certificates immediatelly or allow them to be regenerated on demand required: false schema: type: boolean default: true x-java-response: type: java.util.stream.Stream isContainer: true security: [] responses: 200: description: A list of statuses of the created refresh pools jobs content: application/json: schema: type: array items: $ref: '#/components/schemas/AsyncJobStatusDTO' 400: description: No product IDs specified content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: No product IDs specified requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /roles: get: description: Retrieves a list of Roles tags: - roles operationId: getRoles x-java-response: type: java.util.stream.Stream isContainer: true security: [] responses: 200: description: A list of roles content: application/json: schema: type: array items: $ref: '#/components/schemas/RoleDTO' default: $ref: '#/components/responses/default' post: tags: - roles description: Creates a Role operationId: createRole security: [] requestBody: description: A role to be created required: true content: application/json: schema: $ref: '#/components/schemas/RoleDTO' responses: 200: description: Role successfully created. content: application/json: schema: $ref: '#/components/schemas/RoleDTO' 400: description: Role is null or empty or role name not specified content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Role is null or empty or role name not specified requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 409: description: Role already exists content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Role already exists requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /roles/{role_name}: get: description: Retrieves a single role by its name. tags: - roles operationId: getRoleByName parameters: - in: path name: role_name description: Role name required: true schema: type: string security: [] responses: 200: description: Returns a role content: application/json: schema: $ref: '#/components/schemas/RoleDTO' 400: description: Role name is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Role name is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Role not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Role not found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' put: description: Updates Role. To avoid race conditions, we do not support updating the user or permission collections. Currently this call will only update the role name. See the specific nested POST/DELETE calls for modifying users and permissions. tags: - roles operationId: updateRole security: [] parameters: - name: role_name in: path description: Role name required: true schema: type: string requestBody: description: Role required: true content: application/json: schema: $ref: '#/components/schemas/RoleDTO' responses: 200: description: Returns updated role content: application/json: schema: $ref: '#/components/schemas/RoleDTO' 400: description: Role name is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Role name is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Role not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Role not found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Removes a Role tags: - roles operationId: deleteRoleByName parameters: - in: path name: role_name description: Role name required: true schema: type: string security: [] responses: 204: description: Role successfully deleted. 400: description: Role name is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Role name is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Role not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Role not found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /roles/{role_name}/users/{username}: post: tags: - roles description: Adds a User to a Role operationId: addUserToRole security: [] parameters: - in: path name: role_name description: Role name required: true schema: type: string - in: path name: username description: User name required: true schema: type: string responses: 200: description: User added to the role content: application/json: schema: $ref: '#/components/schemas/RoleDTO' 400: description: Either role or username is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Either role or username is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Role or Username not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Role or Username not found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Removes a User from a Role tags: - roles operationId: deleteUserFromRole parameters: - in: path name: role_name description: Role name required: true schema: type: string - in: path name: username description: User name required: true schema: type: string security: [] responses: 200: description: User from a role is removed content: application/json: schema: $ref: '#/components/schemas/RoleDTO' 400: description: Either role or username is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Either role or username is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Role or Username not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Role or Username not found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /roles/{role_name}/permissions: post: tags: - roles description: Adds a Permission to a Role operationId: addRolePermission security: [] parameters: - in: path name: role_name description: Role name required: true schema: type: string requestBody: description: Permission Blueprint required: true content: application/json: schema: $ref: '#/components/schemas/PermissionBlueprintDTO' responses: 200: description: Permission to a Role is added content: application/json: schema: $ref: '#/components/schemas/RoleDTO' 400: description: Access type NONE not supported, or role name is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Access type NONE not supported requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Role not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Role not found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /roles/{role_name}/permissions/{perm_id}: delete: description: Removes a Permission from a Role tags: - roles operationId: removeRolePermission parameters: - in: path name: role_name description: Role name required: true schema: type: string - in: path name: perm_id description: Permission Id required: true schema: type: string security: [] responses: 200: description: Permission is removed from a role content: application/json: schema: $ref: '#/components/schemas/RoleDTO' 400: description: Role name is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Role name is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: Role not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Role not found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /rules: get: description: Retrieves the Rules tags: - rules operationId: getRules security: [] responses: 200: description: Returns the rules content: text/plain: schema: type: string 404: description: No rules file found in the database content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: No rules file found in the database requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 503: description: Could not read rules file content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Could not read rules file requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /serials/{id}: get: description: Retrieves a single Certificate Serial tags: - certificate_serial operationId: getCertificateSerial security: [] parameters: - name: id in: path description: The ID of the certificate serial to retrieve required: true schema: type: integer format: int64 responses: 200: description: '' content: application/json: schema: $ref: '#/components/schemas/CertificateSerialDTO' 404: description: A certificate serial could not be found using the provided ID content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: A certificate serial could not be found using the provided ID requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /status: get: description: Returns status of the server tags: - status operationId: status security: [] responses: 200: description: Status information about running Candlepin server content: application/json: schema: $ref: '#/components/schemas/StatusDTO' default: $ref: '#/components/responses/default' /subscriptions: get: description: Retrieves a list of Subscriptions tags: - subscription operationId: getSubscriptions security: [] responses: 200: description: A list of subscriptions content: application/json: schema: type: array items: $ref: '#/components/schemas/SubscriptionDTO' default: $ref: '#/components/responses/default' post: description: Activates a Subscription tags: - subscription operationId: activateSubscription security: [] x-java-response: type: javax.ws.rs.core.Response parameters: - name: consumer_uuid in: query description: The UUID of the consumer of the subscription required: true schema: type: string - name: email in: query description: The email to send a notification to for the activation required: true schema: type: string - name: email_locale in: query description: The locale of the email to send a notification to for the activation required: true schema: type: string responses: 202: description: A Subscription is being activated 400: description: Invalid request such as missing email/locale or when the consumer with the given uuid was not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: The consumer with the given uuid was not found requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /subscriptions/{id}: delete: description: Removes a Subscription tags: - subscription operationId: deleteSubscription security: [] parameters: - name: id in: path description: The ID of the subscription to remove required: true schema: type: string responses: 204: description: Subscription was successfully deleted 404: description: Subscription could not be found using the provided ID content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Subscription could not be found using the provided ID requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /users: get: description: Retrieves a list of Users tags: - users operationId: listUsers x-java-response: type: java.util.stream.Stream isContainer: true security: [] responses: 200: description: A list of users content: application/json: schema: type: array items: $ref: '#/components/schemas/UserDTO' default: $ref: '#/components/responses/default' post: description: Creates a User tags: - users operationId: createUser requestBody: description: A user to be created required: true content: application/json: schema: $ref: '#/components/schemas/UserDTO' security: [] responses: 200: description: User successfuly created content: application/json: schema: $ref: '#/components/schemas/UserDTO' 400: description: User data is null or empty, username is not specified and similar errors content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Username is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 409: description: User already exists content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: "User already exists: test_user" requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /users/{username}: get: description: Retrieves a single User tags: - users operationId: getUserInfo parameters: - name: username in: path description: The username of the existing user required: true schema: type: string security: [] responses: 200: description: A single user content: application/json: schema: $ref: '#/components/schemas/UserDTO' 400: description: Username is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Username is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: User not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: "User not found: test_user" requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' put: description: Updates a User tags: - users operationId: updateUser parameters: - name: username in: path description: The username of the existing user required: true schema: type: string requestBody: description: The updated user required: true content: application/json: schema: $ref: '#/components/schemas/UserDTO' security: [] responses: 200: description: the updated user content: application/json: schema: $ref: '#/components/schemas/UserDTO' 400: description: Username is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Username is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: User not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: "User not found: test_user" requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' delete: description: Removes a User tags: - users operationId: deleteUser parameters: - name: username in: path description: The username of the existing user required: true schema: type: string security: [] responses: 200: description: User was deleted successfuly 400: description: Username is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Username is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: User not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: "User not found: test_user" requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /users/{username}/roles: get: description: Retrieves a list of Roles by User tags: - users operationId: getUserRoles parameters: - name: username in: path description: The username of the existing user required: true schema: type: string x-java-response: type: java.util.stream.Stream isContainer: true security: [] responses: 200: description: A list of user roles content: application/json: schema: type: array items: $ref: '#/components/schemas/RoleDTO' 400: description: Username is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Username is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: User not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: "User not found: test_user" requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' /users/{username}/owners: get: description: Retrieve a list of owners the user can register systems to tags: - users operationId: listUserOwners parameters: - name: username in: path description: The username of the existing user required: true schema: type: string x-java-response: type: java.util.stream.Stream isContainer: true security: [] responses: 200: description: A list of user owners content: application/json: schema: type: array items: $ref: '#/components/schemas/OwnerDTO' 400: description: Username is null or empty content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: Username is null or empty requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a 404: description: User not found content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: "User not found: test_user" requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a default: $ref: '#/components/responses/default' components: responses: default: description: An unexpected exception has occurred content: application/json: schema: $ref: '#/components/schemas/ExceptionMessage' example: displayMessage: An unexpected exception has occurred requestUuid: c4347004-8792-41fe-a4d8-fccaa0d3898a schemas: TimestampedEntity: properties: created: type: string format: date-time example: "2020-04-23 03:23:50.927000" updated: type: string format: date-time example: "2020-04-23 03:23:50.927000" ExceptionMessage: description: An exception has occurred properties: displayMessage: type: string requestUuid: type: string Link: description: Used to represent a link to a top level resource in Candlepin properties: rel: type: string href: type: string DateRange: description: Represents a range in time, start date to end Date inclusive properties: startDate: type: string format: date-time endDate: type: string format: date-time DeleteResult: description: Represents number of records removed via an unbind. properties: deletedRecords: type: integer AsyncJobStatusDTO: description: DTO representing an async job status allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string example: "ff808081554a3e4101554a3e9033005d" key: type: string example: "RefreshPoolsJob" name: type: string example: "refresh pools job" group: type: string example: "refresh" origin: type: string example: "candlepin.myhost.com" executor: type: string example: "candlepin.myhost.com" principal: type: string example: "admin" state: type: string example: "RUNNING" previousState: type: string example: "QUEUED" startTime: type: string format: date-time example: "2019-05-08 09:42:37.000" endTime: type: string format: date-time example: "2019-05-08 09:42:37.000" attempts: type: integer example: "1" maxAttempts: type: integer example: "3" statusPath: type: string example: "/jobs/ff808081554a3e4101554a3e9033005d" resultData: type: object description: "May contain a single message or job data as JSON" example: "Refresh completed successfully!" AbstractCertificateDTO: description: | Represents the base of most Candlepin certificates presented to the API (exceptions include ProductCertificate which has its own DTO). allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string key: type: string cert: type: string serial: $ref: '#/components/schemas/CertificateSerialDTO' ActivationKeyDTO: description: A token that allows registration without username/password and sets subscription and content related properties at registration. allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string name: type: string description: type: string owner: $ref: '#/components/schemas/NestedOwnerDTO' releaseVer: $ref: '#/components/schemas/ReleaseVerDTO' serviceLevel: type: string usage: type: string role: type: string addOns: type: array uniqueItems: true items: type: string autoAttach: type: boolean pools: type: array uniqueItems: true items: $ref: '#/components/schemas/ActivationKeyPoolDTO' products: type: array uniqueItems: true items: $ref: '#/components/schemas/ActivationKeyProductDTO' contentOverrides: type: array uniqueItems: true items: $ref: '#/components/schemas/ContentOverrideDTO' ActivationKeyProductDTO: required: - productId properties: productId: type: string minLength: 1 ActivationKeyPoolDTO: required: - poolId properties: poolId: type: string minLength: 1 quantity: type: integer format: int64 AttributeDTO: description: Represents the attribute as a name-value pair properties: name: type: string value: type: string BrandingDTO: description: Represents the branding. It indicates that a particular engineering product ID is being rebranded by the entitlement to the given name. The type is used by clients to determine what action to take with the brand name. allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object required: - productId - name - type properties: productId: type: string minLength: 1 maxLength: 255 name: type: string minLength: 1 maxLength: 255 type: type: string minLength: 1 maxLength: 32 CertificateSerialDTO: description: Represents a database sequence used to ensure certificates receive unique serial numbers allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: integer format: int64 serial: type: integer format: int64 expiration: type: string format: date-time revoked: type: boolean CertificateDTO: description: Represents certificate details allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string key: type: string cert: type: string serial: $ref: '#/components/schemas/CertificateSerialDTO' CapabilityDTO: description: Represents a consumer capability required: - name properties: id: type: string name: type: string minLength: 1 ClaimantOwner: description: Represents an owner claiming the consumers of an anonymous owner required: - claimant_owner_key properties: claimant_owner_key: type: string minLength: 1 CloudRegistrationDTO: description: Contains data for performing automatic cloud-based registration. required: - type - metadata - signature properties: type: type: string minLength: 1 metadata: type: string minLength: 1 signature: type: string CloudAuthenticationResultDTO: description: Contains the result of authenticating the provided cloud registration information. required: - token - tokenType properties: ownerKey: type: string anonymousConsumerUuid: type: string token: type: string minLength: 1 tokenType: type: string minLength: 1 ConsumerDTO: description: Represents a consumer allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string uuid: type: string name: type: string username: type: string entitlementStatus: type: string serviceLevel: type: string role: type: string usage: type: string addOns: type: array uniqueItems: true items: type: string systemPurposeStatus: type: string registrationAuthenticationMethod: type: string releaseVer: $ref: '#/components/schemas/ReleaseVerDTO' owner: $ref: '#/components/schemas/NestedOwnerDTO' environment: $ref: '#/components/schemas/EnvironmentDTO' entitlementCount: type: integer format: int64 facts: type: object additionalProperties: type: string lastCheckin: type: string format: date-time installedProducts: type: array uniqueItems: true items: $ref: '#/components/schemas/ConsumerInstalledProductDTO' canActivate: type: boolean capabilities: type: array uniqueItems: true items: $ref: '#/components/schemas/CapabilityDTO' hypervisorId: $ref: '#/components/schemas/HypervisorIdDTO' contentTags: type: array uniqueItems: true items: type: string autoheal: type: boolean annotations: type: string contentAccessMode: type: string type: $ref: '#/components/schemas/ConsumerTypeDTO' idCert: $ref: '#/components/schemas/CertificateDTO' guestIds: type: array items: $ref: '#/components/schemas/GuestIdDTO' href: type: string activationKeys: type: array uniqueItems: true items: $ref: '#/components/schemas/ConsumerActivationKeyDTO' serviceType: type: string environments: type: array items: $ref: '#/components/schemas/EnvironmentDTO' ConsumerActivationKeyDTO: description: Represent activation keys used by consumer in registration properties: activationKeyName: type: string activationKeyId: type: string ConsumerDTOArrayElement: description: Represents a reduced view of a consumer (excluding data like facts and identify certificate) allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string uuid: type: string name: type: string username: type: string entitlementStatus: type: string serviceLevel: type: string role: type: string usage: type: string addOns: type: array uniqueItems: true items: type: string systemPurposeStatus: type: string releaseVer: $ref: '#/components/schemas/ReleaseVerDTO' owner: $ref: '#/components/schemas/NestedOwnerDTO' entitlementCount: type: integer format: int64 lastCheckin: type: string format: date-time installedProducts: type: array uniqueItems: true items: $ref: '#/components/schemas/ConsumerInstalledProductDTO' canActivate: type: boolean capabilities: type: array uniqueItems: true items: $ref: '#/components/schemas/CapabilityDTO' hypervisorId: $ref: '#/components/schemas/HypervisorIdDTO' contentTags: type: array uniqueItems: true items: type: string autoheal: type: boolean annotations: type: string contentAccessMode: type: string type: $ref: '#/components/schemas/ConsumerTypeDTO' guestIds: type: array items: $ref: '#/components/schemas/GuestIdDTOArrayElement' href: type: string serviceType: type: string ConsumerInstalledProductDTO: description: Represents consumer installed product details allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object required: - productId properties: id: type: string productId: type: string minLength: 1 productName: type: string version: type: string arch: type: string status: type: string startDate: type: string format: date-time endDate: type: string format: date-time ConsumerTypeDTO: description: Represents a consumer type used to differentiate various types of consumers allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string label: type: string manifest: type: boolean ConsumptionTypeCountsDTO: description: Represents virtual / physical entitlement consumption counts type: object properties: physical: type: integer guest: type: integer ContentDTO: description: Represents the content data exposed to the API. allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: uuid: type: string example: "ff808081554a3e4101554a3e9033005d" id: type: string example: "5001" type: type: string example: "yum" label: type: string example: "content_label" name: type: string example: "content_name" vendor: type: string example: "example-vendor" contentUrl: type: string example: "/admin/foo/example/path" requiredTags: type: string example: "TAG1,TAG2" releaseVer: type: string example: "1.2.3" gpgUrl: type: string example: "/admin/foo/example/gpg/path" modifiedProductIds: type: array uniqueItems: true example: "[5051,5052,5053]" items: type: string arches: type: string example: "x86_64" metadataExpire: type: integer format: int64 example: 1467124079 ContentAccessDTO: description: Represents content access properties: contentAccessMode: type: string contentAccessModeList: type: array items: type: string ContentOverrideDTO: description: Represents a content override for an activation key or consumer allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: name: type: string contentLabel: type: string value: type: string maxLength: 2048 ContentToPromoteDTO: description: Represents the JSON input when promoting content, or updating promoted content. properties: environmentId: type: string contentId: type: string enabled: type: boolean ComplianceReasonDTO: description: DTO representing a compliance reason properties: key: type: string message: type: string attributes: type: object additionalProperties: type: string ComplianceStatusDTO: description: DTO representing compliance status properties: status: type: string compliant: type: boolean date: type: string format: date-time compliantUntil: type: string format: date-time compliantProducts: type: object additionalProperties: type: array uniqueItems: true items: $ref: '#/components/schemas/EntitlementDTO' partiallyCompliantProducts: type: object additionalProperties: type: array uniqueItems: true items: $ref: '#/components/schemas/EntitlementDTO' partialStacks: type: object additionalProperties: type: array uniqueItems: true items: $ref: '#/components/schemas/EntitlementDTO' nonCompliantProducts: type: array uniqueItems: true items: type: string reasons: type: array uniqueItems: true items: $ref: '#/components/schemas/ComplianceReasonDTO' productComplianceDateRanges: type: object additionalProperties: $ref: '#/components/schemas/DateRange' CdnDTO: description: DTO representing a Cdn allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string label: type: string name: type: string url: type: string certificate: $ref: '#/components/schemas/CertificateDTO' DeletedConsumerDTO: description: Represents a deleted consumer allOf: - $ref: '#/components/schemas/TimestampedEntity' - properties: id: type: string consumerUuid: type: string consumerName: type: string ownerId: type: string ownerKey: type: string ownerDisplayName: type: string principalName: type: string DistributorVersionDTO: description: A DTO representation of the DistributorVersion allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string name: type: string displayName: type: string capabilities: type: array uniqueItems: true items: $ref: '#/components/schemas/DistributorVersionCapabilityDTO' DistributorVersionCapabilityDTO: description: A DTO representation of the DistributorVersionCapability type: object required: - name properties: id: type: string name: type: string minLength: 1 EntitlementDTO: description: A DTO representation of the Entitlement entity allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string consumer: $ref: '#/components/schemas/NestedConsumerDTO' pool: $ref: '#/components/schemas/PoolDTO' quantity: type: integer certificates: type: array uniqueItems: true items: $ref: '#/components/schemas/CertificateDTO' startDate: type: string format: date-time endDate: type: string format: date-time href: type: string EnvironmentContentDTO: description: EnvironmentContent represents the promotion of content into a particular environment. properties: contentId: type: string enabled: type: boolean EnvironmentDTO: description: Represents an environment within an org used to enable/disable/promote content in specific places. allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string name: type: string type: type: string description: type: string contentPrefix: type: string owner: $ref: "#/components/schemas/NestedOwnerDTO" environmentContent: type: array uniqueItems: true items: $ref: "#/components/schemas/EnvironmentContentDTO" ExportResultDTO: description: Represents the result of an export job properties: exportedConsumer: type: string exportId: type: string href: type: string GuestIdDTO: description: Represents a guest ID running on a virt host consumer allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object required: - guestId properties: id: type: string guestId: type: string attributes: type: object additionalProperties: type: string GuestIdDTOArrayElement: description: Represents a guest ID running on a virt host consumer. Does not include the attributes field allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object required: - guestId properties: id: type: string guestId: type: string HypervisorConsumerDTO: properties: uuid: type: string name: type: string owner: $ref: "#/components/schemas/NestedOwnerDTO" HypervisorIdDTO: description: Represents a HypervisorId details allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string hypervisorId: type: string reporterId: type: string HypervisorUpdateResultDTO: required: - failedUpdate - updated - created - unchanged properties: created: type: array uniqueItems: true items: $ref: "#/components/schemas/HypervisorConsumerDTO" updated: type: array uniqueItems: true items: $ref: "#/components/schemas/HypervisorConsumerDTO" unchanged: type: array uniqueItems: true items: $ref: "#/components/schemas/HypervisorConsumerDTO" failedUpdate: type: array uniqueItems: true items: type: string ImportRecordDTO: description: Represents a import record details allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string status: type: string statusMessage: type: string fileName: type: string generatedBy: type: string generatedDate: type: string format: date-time upstreamConsumer: $ref: '#/components/schemas/ImportUpstreamConsumerDTO' ImportUpstreamConsumerDTO: description: Represents an import upstream consumer allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string uuid: type: string name: type: string apiUrl: type: string webUrl: type: string ownerId: type: string contentAccessMode: type: string type: $ref: '#/components/schemas/ConsumerTypeDTO' NestedConsumerDTO: description: A minimal view of a Consumer properties: id: type: string uuid: type: string name: type: string href: type: string NestedEntitlementDTO: properties: id: type: string href: type: string NestedOwnerDTO: properties: id: type: string key: type: string displayName: type: string href: type: string contentAccessMode: type: string OwnerDTO: description: DTO representing an owner/organization allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string displayName: type: string key: type: string contentPrefix: type: string defaultServiceLevel: type: string logLevel: type: string contentAccessMode: type: string contentAccessModeList: type: string autobindHypervisorDisabled: type: boolean autobindDisabled: type: boolean lastRefreshed: type: string format: date-time parentOwner: $ref: '#/components/schemas/NestedOwnerDTO' upstreamConsumer: $ref: '#/components/schemas/UpstreamConsumerDTO' anonymous: type: boolean claimed: type: boolean claimantOwner: type: string OwnerInfo: description: Represents owner information type: object required: - consumerCounts - consumerGuestCounts - entitlementsConsumedByType - consumerTypeCountByPool - enabledConsumerTypeCountByPool - consumerCountsByComplianceStatus - entitlementsConsumedByFamily properties: consumerCounts: type: object additionalProperties: type: integer consumerGuestCounts: type: object additionalProperties: type: integer entitlementsConsumedByType: type: object additionalProperties: type: integer consumerTypeCountByPool: type: object additionalProperties: type: integer enabledConsumerTypeCountByPool: type: object additionalProperties: type: integer consumerCountsByComplianceStatus: type: object additionalProperties: type: integer entitlementsConsumedByFamily: type: object additionalProperties: $ref: "#/components/schemas/ConsumptionTypeCountsDTO" PermissionBlueprintDTO: description: Represents the permission blueprints exposed to the API layer allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string example: "ff808081554a3e4101554a3e9033005d" owner: $ref: "#/components/schemas/NestedOwnerDTO" type: type: string example: "OWNER" access: type: string example: "NONE" PoolDTO: description: Represents a pool of products eligible to be consumed (entitled) allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string type: type: string owner: $ref: '#/components/schemas/NestedOwnerDTO' activeSubscription: type: boolean sourceEntitlement: $ref: '#/components/schemas/NestedEntitlementDTO' quantity: type: integer format: int64 startDate: type: string format: date-time endDate: type: string format: date-time attributes: type: array items: $ref: '#/components/schemas/AttributeDTO' restrictedToUsername: type: string contractNumber: type: string accountNumber: type: string orderNumber: type: string consumed: type: integer format: int64 exported: type: integer format: int64 branding: type: array uniqueItems: true items: $ref: '#/components/schemas/BrandingDTO' calculatedAttributes: type: object additionalProperties: type: string upstreamPoolId: type: string upstreamEntitlementId: type: string upstreamConsumerId: type: string productName: type: string productId: type: string productAttributes: type: array items: $ref: '#/components/schemas/AttributeDTO' stackId: type: string stacked: type: boolean sourceStackId: type: string developmentPool: type: boolean href: type: string derivedProductAttributes: type: array items: $ref: '#/components/schemas/AttributeDTO' derivedProductId: type: string derivedProductName: type: string providedProducts: type: array uniqueItems: true items: $ref: '#/components/schemas/ProvidedProductDTO' derivedProvidedProducts: type: array uniqueItems: true items: $ref: '#/components/schemas/ProvidedProductDTO' subscriptionSubKey: type: string subscriptionId: type: string managed: type: boolean PoolQuantityDTO: description: DTO representing pool quantity & pool. properties: quantity: type: integer pool: $ref: "#/components/schemas/PoolDTO" ProductContentDTO: description: Product content mapping exposed to the API required: - content properties: content: $ref: "#/components/schemas/ContentDTO" enabled: type: boolean ProductCertificateDTO: description: DTO representing product certificates presented to the API allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: key: type: string cert: type: string ProductDTO: description: DTO representing the product data exposed to the API allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string example: 5051 uuid: type: string example: ff808081554a3e4101554a3e9033005d name: type: string example: Admin OS Developer Bits multiplier: type: integer format: int64 example: 1 attributes: type: array items: $ref: '#/components/schemas/AttributeDTO' productContent: type: array uniqueItems: true items: $ref: "#/components/schemas/ProductContentDTO" dependentProductIds: type: array uniqueItems: true items: type: string branding: type: array uniqueItems: true items: $ref: "#/components/schemas/BrandingDTO" derivedProduct: $ref: "#/components/schemas/ProductDTO" providedProducts: type: array uniqueItems: true items: $ref: "#/components/schemas/ProductDTO" href: type: string example: /products/ff808081554a3e4101554a3e9033005d ProvidedProductDTO: description: ProvidedProduct DTO representation required: - productId properties: productId: type: string minLength: 1 productName: type: string QueueStatus: description: | Represents status of the ActiveMQ queues. Used for checking if events are piling up for some reason or being delivered correctly. properties: queueName: type: string pendingMessageCount: type: integer format: int64 ReleaseVerDTO: properties: releaseVer: type: string RoleDTO: description: Represent the relationship between users and the permissions they have allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string example: "ff808081554a3e4101554a3e9033005d" name: type: string example: "admin-all" users: type: array uniqueItems: true items: "$ref": "#/components/schemas/UserDTO" permissions: type: array items: "$ref": "#/components/schemas/PermissionBlueprintDTO" SchedulerStatusDTO: description: Represents scheduler status properties: isRunning: type: boolean StatusDTO: description: Version and Status information about running Candlepin server properties: mode: type: string modeReason: type: string modeChangeTime: type: string format: date-time result: type: boolean example: true version: type: string example: 0.9.10 release: type: string standalone: type: boolean timeUTC: type: string format: date-time rulesSource: type: string rulesVersion: type: string example: 5.8 managerCapabilities: type: array uniqueItems: true items: type: string # Temporary keycloak stuff -- eventually remove these as they've been supplanted by the device_auth # fields keycloakRealm: type: string keycloakAuthUrl: type: string keycloakResource: type: string # Device auth fields deviceAuthRealm: type: string deviceAuthUrl: type: string deviceAuthClientId: type: string deviceAuthScope: type: string SubscriptionDTO: description: Represents the Subscription data exposed to the API allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string owner: $ref: "#/components/schemas/NestedOwnerDTO" product: $ref: "#/components/schemas/ProductDTO" derivedProduct: $ref: "#/components/schemas/ProductDTO" providedProducts: type: array uniqueItems: true items: "$ref": "#/components/schemas/ProductDTO" derivedProvidedProducts: type: array uniqueItems: true items: $ref: "#/components/schemas/ProductDTO" quantity: type: integer format: int64 startDate: type: string format: date-time example: "2019-05-08 09:42:37.000" endDate: type: string format: date-time example: "2019-05-08 09:42:37.000" contractNumber: type: string accountNumber: type: string modified: type: string format: date-time example: "2019-05-08 09:42:37.000" lastModified: type: string format: date-time example: "2019-05-08 09:42:37.000" orderNumber: type: string upstreamPoolId: type: string upstreamEntitlementId: type: string upstreamConsumerId: type: string certificate: $ref: "#/components/schemas/CertificateDTO" cdn: $ref: "#/components/schemas/CdnDTO" stacked: type: boolean stackId: type: string SystemPurposeAttributesDTO: description: Represents system purpose attribute details properties: owner: $ref: '#/components/schemas/NestedOwnerDTO' systemPurposeAttributes: type: object additionalProperties: type: array uniqueItems: true items: type: string SystemPurposeComplianceStatusDTO: description: DTO representing system purpose compliance status properties: status: type: string compliant: type: boolean date: type: string format: date-time nonCompliantRole: type: string nonCompliantSLA: type: string nonCompliantUsage: type: string nonCompliantServiceType: type: string compliantRole: type: object additionalProperties: type: array uniqueItems: true items: $ref: '#/components/schemas/EntitlementDTO' compliantAddOns: type: object additionalProperties: type: array uniqueItems: true items: $ref: '#/components/schemas/EntitlementDTO' compliantSLA: type: object additionalProperties: type: array uniqueItems: true items: $ref: '#/components/schemas/EntitlementDTO' compliantUsage: type: object additionalProperties: type: array uniqueItems: true items: $ref: '#/components/schemas/EntitlementDTO' nonCompliantAddOns: type: array uniqueItems: true items: type: string compliantServiceType: type: object additionalProperties: type: array uniqueItems: true items: $ref: '#/components/schemas/EntitlementDTO' reasons: type: array uniqueItems: true items: type: string UeberCertificateDTO: description: Represents an ueber certificate allOf: - $ref: '#/components/schemas/AbstractCertificateDTO' - type: object properties: owner: $ref: '#/components/schemas/NestedOwnerDTO' UserDTO: description: "Represents user information for a given user" allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string example: "ff808081554a3e4101554a3e9033005d" username: type: string example: "admin" password: type: string example: "secret_banana" writeOnly: true superAdmin: type: boolean example: true default: false UpstreamConsumerDTO: description: DTO representing an upstream consumer allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string uuid: type: string name: type: string apiUrl: type: string webUrl: type: string ownerId: type: string contentAccessMode: type: string type: $ref: '#/components/schemas/ConsumerTypeDTO' idCert: $ref: '#/components/schemas/CertificateDTO' UpstreamConsumerDTOArrayElement: description: | Represents a reduced view of a upstream consumer (excluding identify certificate) allOf: - $ref: '#/components/schemas/TimestampedEntity' - type: object properties: id: type: string uuid: type: string name: type: string apiUrl: type: string webUrl: type: string ownerId: type: string contentAccessMode: type: string type: $ref: '#/components/schemas/ConsumerTypeDTO' securitySchemes: basicAuth: type: http scheme: basic ActivationKey: name: activation-key in: query type: apiKey ActivationKeyOwner: name: owner in: query type: apiKey parameters: paging_page: name: page description: Page index to return in: query schema: type: integer example: 2 paging_per_page: name: per_page description: Number of items to return per page in: query schema: type: integer example: 10 paging_order: name: order description: Direction of ordering in: query schema: type: string example: asc paging_sort_by: name: sort_by description: Property to use for ordering in: query schema: type: string example: name