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