openapi: 3.0.1 info: title: Product Catalog Management agreement resourceCandidate API description: "Product Catalog API is one of Catalog Management API Family. Product Catalog API goal is to provide a catalog of products. \n### Operations\nProduct Catalog API performs the following operations on the resources :\n- Retrieve an entity or a collection of entities depending on filter criteria\n- Partial update of an entity (including updating rules)\n- Create an entity (including default values and creation rules)\n- Delete an entity\n- Manage notification of events" version: 5.0.0 servers: - url: https://serverRoot/productCatalogManagement/v5/ tags: - name: resourceCandidate paths: /resourceCandidate: get: operationId: listResourceCandidate summary: List or find ResourceCandidate objects description: This operation list or find ResourceCandidate entities tags: - resourceCandidate parameters: - name: fields description: Comma-separated properties to be provided in response required: false in: query type: string - name: offset description: Requested index for start of resources to be provided in response required: false in: query type: integer - name: limit description: Requested number of resources to be provided in response required: false in: query type: integer responses: '200': description: Success headers: X-Result-Count: description: Actual number of items returned in the response body type: integer X-Total-Count: description: Total number of items matching criteria type: integer schema: type: array items: $ref: '#/definitions/ResourceCandidate' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' post: operationId: createResourceCandidate summary: Creates a ResourceCandidate description: This operation creates a ResourceCandidate entity. tags: - resourceCandidate parameters: - name: resourceCandidate description: The ResourceCandidate to be created required: true schema: $ref: '#/definitions/ResourceCandidate_Create' in: body responses: '201': description: Created schema: $ref: '#/definitions/ResourceCandidate' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' /resourceCandidate/{id}: get: operationId: retrieveResourceCandidate summary: Retrieves a ResourceCandidate by ID description: This operation retrieves a ResourceCandidate entity. Attribute selection is enabled for all first level attributes. tags: - resourceCandidate parameters: - name: id description: Identifier of the ResourceCandidate required: true type: string in: path - name: fields description: Comma-separated properties to provide in response required: false type: string in: query responses: '200': description: Success schema: $ref: '#/definitions/ResourceCandidate' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' patch: operationId: patchResourceCandidate summary: Updates partially a ResourceCandidate description: This operation updates partially a ResourceCandidate entity. tags: - resourceCandidate parameters: - name: id description: Identifier of the ResourceCandidate required: true type: string in: path - name: resourceCandidate description: The ResourceCandidate to be updated required: true schema: $ref: '#/definitions/ResourceCandidate_Update' in: body responses: '200': description: Updated schema: $ref: '#/definitions/ResourceCandidate' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' delete: operationId: deleteResourceCandidate summary: Deletes a ResourceCandidate description: This operation deletes a ResourceCandidate entity. tags: - resourceCandidate parameters: - name: id description: Identifier of the ResourceCandidate required: true type: string in: path responses: '204': description: Deleted '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' definitions: ResourceCategoryRef: type: object description: The (resource) category resource is used to group resource candidates in logical containers. Categories can contain other categories. properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name of the related entity. version: type: string description: Category version '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id ResourceCandidate: type: object description: ResourceCandidate is an entity that makes a resource specification available to a catalog. A ResourceCandidate and its associated resource specification may be published - made visible - in any number of resource catalogs, or in none. properties: id: type: string description: Unique identifier of this REST resource href: type: string description: Hyperlink reference to this REST resource description: type: string description: Description of this REST resource lastUpdate: type: string format: date-time description: Date and time of the last update of this REST resource lifecycleStatus: type: string description: Used to indicate the current lifecycle status of the resource candidate. name: type: string description: Name given to this REST resource version: type: string description: the version of resource candidate category: type: array items: $ref: '#/definitions/ResourceCategoryRef' description: The categories in which this candidate is exposed resourceSpecification: $ref: '#/definitions/ResourceSpecificationRef' description: The detailed specification for this candidate validFor: $ref: '#/definitions/TimePeriod' description: The period for which this REST resource is valid '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name Error: description: Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx) type: object required: - code - reason properties: code: type: string description: Application relevant detail, defined in the API or a common list. reason: type: string description: Explanation of the reason for the error which can be shown to a client user. message: type: string description: More details and corrective actions related to the error which can be shown to a client user. status: type: string description: HTTP Error code extension referenceError: type: string format: uri description: URI of documentation describing the error. '@baseType': type: string description: When sub-classing, this defines the super-class. '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name. TimePeriod: type: object description: A period of time, either as a deadline (endDateTime only) a startDateTime only, or both properties: endDateTime: type: string format: date-time description: End of the time period, using IETC-RFC-3339 format startDateTime: type: string format: date-time description: Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end ResourceSpecificationRef: type: object description: 'Resources are physical or non-physical components (or some combination of these) within an enterprise''s infrastructure or inventory. They are typically consumed or used by services (for example a physical port assigned to a service) or contribute to the realization of a Product (for example, a SIM card). They can be drawn from the Application, Computing and Network domains, and include, for example, Network Elements, software, IT systems, content and information, and technology components. A ResourceSpecification is an abstract base class for representing a generic means for implementing a particular type of Resource. In essence, a ResourceSpecification defines the common attributes and relationships of a set of related Resources, while Resource defines a specific instance that is based on a particular ResourceSpecification.' properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name of the related entity. version: type: string description: Resource Specification version '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id ResourceCandidate_Create: type: object description: 'ResourceCandidate is an entity that makes a resource specification available to a catalog. A ResourceCandidate and its associated resource specification may be published - made visible - in any number of resource catalogs, or in none. Skipped properties: id,href' required: - name properties: description: type: string description: Description of this REST resource lastUpdate: type: string format: date-time description: Date and time of the last update of this REST resource lifecycleStatus: type: string description: Used to indicate the current lifecycle status of the resource candidate. name: type: string description: Name given to this REST resource version: type: string description: the version of resource candidate category: type: array items: $ref: '#/definitions/ResourceCategoryRef' description: The categories in which this candidate is exposed resourceSpecification: $ref: '#/definitions/ResourceSpecificationRef' description: The detailed specification for this candidate validFor: $ref: '#/definitions/TimePeriod' description: The period for which this REST resource is valid '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name ResourceCandidate_Update: type: object description: 'ResourceCandidate is an entity that makes a resource specification available to a catalog. A ResourceCandidate and its associated resource specification may be published - made visible - in any number of resource catalogs, or in none. Skipped properties: id,href' properties: description: type: string description: Description of this REST resource lastUpdate: type: string format: date-time description: Date and time of the last update of this REST resource lifecycleStatus: type: string description: Used to indicate the current lifecycle status of the resource candidate. name: type: string description: Name given to this REST resource version: type: string description: the version of resource candidate category: type: array items: $ref: '#/definitions/ResourceCategoryRef' description: The categories in which this candidate is exposed resourceSpecification: $ref: '#/definitions/ResourceSpecificationRef' description: The detailed specification for this candidate validFor: $ref: '#/definitions/TimePeriod' description: The period for which this REST resource is valid '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name