openapi: 3.0.1 info: title: Product Catalog Management agreement agreementSpecification 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: agreementSpecification paths: /agreementSpecification: get: operationId: listAgreementSpecification summary: List or find AgreementSpecification objects description: This operation list or find AgreementSpecification entities tags: - agreementSpecification 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/AgreementSpecification' '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: createAgreementSpecification summary: Creates a AgreementSpecification description: This operation creates a AgreementSpecification entity. tags: - agreementSpecification parameters: - name: agreementSpecification description: The AgreementSpecification to be created required: true schema: $ref: '#/definitions/AgreementSpecification_Create' in: body responses: '201': description: Created schema: $ref: '#/definitions/AgreementSpecification' '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' /agreementSpecification/{id}: get: operationId: retrieveAgreementSpecification summary: Retrieves a AgreementSpecification by ID description: This operation retrieves a AgreementSpecification entity. Attribute selection is enabled for all first level attributes. tags: - agreementSpecification parameters: - name: id description: Identifier of the AgreementSpecification 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/AgreementSpecification' '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: patchAgreementSpecification summary: Updates partially a AgreementSpecification description: This operation updates partially a AgreementSpecification entity. tags: - agreementSpecification parameters: - name: id description: Identifier of the AgreementSpecification required: true type: string in: path - name: agreementSpecification description: The AgreementSpecification to be updated required: true schema: $ref: '#/definitions/AgreementSpecification_Update' in: body responses: '200': description: Updated schema: $ref: '#/definitions/AgreementSpecification' '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: deleteAgreementSpecification summary: Deletes a AgreementSpecification description: This operation deletes a AgreementSpecification entity. tags: - agreementSpecification parameters: - name: id description: Identifier of the AgreementSpecification 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: AgreementSpecification: type: object description: A template of an agreement that can be used when establishing partnerships required: - attachment - name properties: id: type: string description: Unique identifier of the agreement specification href: type: string description: Reference of the agreement specification description: type: string description: A narrative that explains in detail what the agreement specification is about isBundle: type: boolean description: If true, this agreement specification is a grouping of other agreement specifications. The list of bundled agreement specifications is provided by the specificationRelationship property lastUpdate: type: string format: date-time description: Date and time of the last update lifecycleStatus: type: string description: Indicates the current lifecycle status name: type: string description: Name of the agreement specification version: type: string description: Agreement specification version attachment: type: array items: $ref: '#/definitions/AttachmentRefOrValue' minItems: 1 relatedParty: type: array items: $ref: '#/definitions/RelatedParty' serviceCategory: $ref: '#/definitions/CategoryRef' specificationCharacteristic: type: array items: $ref: '#/definitions/AgreementSpecCharacteristic' specificationRelationship: type: array items: $ref: '#/definitions/AgreementSpecificationRelationship' validFor: $ref: '#/definitions/TimePeriod' description: The period for which the agreement specification 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 AgreementSpecificationRelationship: type: object description: A relationship between agreement specifications. Typical relationships are substitution and dependency. 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. relationshipType: type: string description: Type of relationship such as, substitution or dependency. validFor: $ref: '#/definitions/TimePeriod' description: The period for which the relationship 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 '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. AttachmentRefOrValue: type: object description: An attachment by value or by reference. An attachment complements the description of an element, for example through a document, a video, a picture. properties: id: type: string description: Unique identifier for this particular attachment href: type: string description: URI for this Attachment attachmentType: type: string description: Attachment type such as video, picture content: type: string description: The actual contents of the attachment object, if embedded, encoded as base64 description: type: string description: A narrative text describing the content of the attachment mimeType: type: string description: Attachment mime type such as extension file for video, picture and document name: type: string description: The name of the attachment url: type: string description: Uniform Resource Locator, is a web page address (a subset of URI) size: $ref: '#/definitions/Quantity' description: The size of the attachment. validFor: $ref: '#/definitions/TimePeriod' description: The period of time for which the attachment 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 '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. AgreementSpecCharacteristic: type: object description: A characteristic quality or distinctive feature of an agreement. properties: configurable: type: boolean description: If true, the Boolean indicates that the characteristic is configurable description: type: string description: A narrative that explains in detail what the characteristic is name: type: string description: Name of the characteristic being specified. valueType: type: string description: A kind of value that the characteristic can take on, such as numeric, text and so forth specCharacteristicValue: type: array items: $ref: '#/definitions/AgreementSpecCharacteristicValue' validFor: $ref: '#/definitions/TimePeriod' description: The period for which the specification characteristic 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 AgreementSpecCharacteristicValue: type: object description: A number or text that can be assigned to an agreement specification characteristic. properties: default: type: boolean description: Indicates if the value is the default value for a characteristic unitOfMeasure: type: string description: Unit of measure for the characteristic, such as minutes, gigabytes (GB) and so on. valueFrom: type: string description: The low range value that a characteristic can take on valueTo: type: string description: The upper range value that a characteristic can take on valueType: type: string description: A kind of value that the characteristic can take on, such as numeric, text, and so forth validFor: $ref: '#/definitions/TimePeriod' description: The period of time for which a value is applicable value: $ref: '#/definitions/Any' description: A discrete value that the characteristic can take on '@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 CategoryRef: type: object description: The category for grouping recommendations 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 Any: {} Quantity: type: object description: An amount in a given unit properties: amount: default: 1 type: number format: float description: Numeric value in a given unit units: type: string description: Unit 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 AgreementSpecification_Update: type: object description: 'A template of an agreement that can be used when establishing partnerships Skipped properties: id,href' required: - attachment - name properties: description: type: string description: A narrative that explains in detail what the agreement specification is about isBundle: type: boolean description: If true, this agreement specification is a grouping of other agreement specifications. The list of bundled agreement specifications is provided by the specificationRelationship property lastUpdate: type: string format: date-time description: Date and time of the last update lifecycleStatus: type: string description: Indicates the current lifecycle status name: type: string description: Name of the agreement specification version: type: string description: Agreement specification version attachment: type: array items: $ref: '#/definitions/AttachmentRefOrValue' minItems: 1 relatedParty: type: array items: $ref: '#/definitions/RelatedParty' serviceCategory: $ref: '#/definitions/CategoryRef' specificationCharacteristic: type: array items: $ref: '#/definitions/AgreementSpecCharacteristic' specificationRelationship: type: array items: $ref: '#/definitions/AgreementSpecificationRelationship' validFor: $ref: '#/definitions/TimePeriod' description: The period for which the agreement specification 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 RelatedParty: type: object description: Related Entity reference. A related party defines party or party role linked to a specific entity. required: - '@referredType' - id - name 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. role: type: string description: Role played by the related party '@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. AgreementSpecification_Create: type: object description: 'A template of an agreement that can be used when establishing partnerships Skipped properties: id,href' required: - attachment - name properties: description: type: string description: A narrative that explains in detail what the agreement specification is about isBundle: type: boolean description: If true, this agreement specification is a grouping of other agreement specifications. The list of bundled agreement specifications is provided by the specificationRelationship property lastUpdate: type: string format: date-time description: Date and time of the last update lifecycleStatus: type: string description: Indicates the current lifecycle status name: type: string description: Name of the agreement specification version: type: string description: Agreement specification version attachment: type: array items: $ref: '#/definitions/AttachmentRefOrValue' minItems: 1 relatedParty: type: array items: $ref: '#/definitions/RelatedParty' serviceCategory: $ref: '#/definitions/CategoryRef' specificationCharacteristic: type: array items: $ref: '#/definitions/AgreementSpecCharacteristic' specificationRelationship: type: array items: $ref: '#/definitions/AgreementSpecificationRelationship' validFor: $ref: '#/definitions/TimePeriod' description: The period for which the agreement specification 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