openapi: 3.2.0 info: title: Product Catalog Management Product Specification API description: 'Product Catalog API is one of Catalog Management API Family. Product Catalog API goal is to provide a catalog of products. ### Operations Product Catalog API performs the following operations on the resources : - Retrieve an entity or a collection of entities depending on filter criteria - Partial update of an entity (including updating rules) - Create an entity (including default values and creation rules) - Delete an entity - Manage notification of events' version: 5.0.0 servers: - url: https://serverRoot/productCatalogManagement/v5/ tags: - name: Product Specification description: Operations for ProductSpecification Resource paths: /productSpecification: get: tags: - Product Specification summary: TM Forum List or Find ProductSpecification Objects description: List or find ProductSpecification objects operationId: listProductSpecification parameters: - $ref: '#/components/parameters/Fields' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' responses: '200': $ref: '#/components/responses/200ProductSpecificationArray' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' post: tags: - Product Specification summary: TM Forum Creates a ProductSpecification description: This operation creates a ProductSpecification entity. operationId: createProductSpecification parameters: - $ref: '#/components/parameters/Fields' requestBody: $ref: '#/components/requestBodies/ProductSpecification_FVO' responses: '201': $ref: '#/components/responses/201ProductSpecification' '202': description: Accepted '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '409': $ref: '#/components/responses/409' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' /productSpecification/{id}: get: tags: - Product Specification summary: TM Forum Retrieves a ProductSpecification by ID description: This operation retrieves a ProductSpecification entity. Attribute selection enabled for all first level attributes. operationId: retrieveProductSpecification parameters: - $ref: '#/components/parameters/Id' - $ref: '#/components/parameters/Fields' responses: '200': $ref: '#/components/responses/200ProductSpecification_Get' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' patch: tags: - Product Specification summary: TM Forum Updates Partially a ProductSpecification description: This operation updates partially a ProductSpecification entity. operationId: patchProductSpecification parameters: - $ref: '#/components/parameters/Id' - $ref: '#/components/parameters/Fields' requestBody: $ref: '#/components/requestBodies/ProductSpecification_MVO' responses: '200': $ref: '#/components/responses/200ProductSpecification_Patch' '202': description: Accepted '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '409': $ref: '#/components/responses/409' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' delete: tags: - Product Specification summary: TM Forum Deletes a ProductSpecification description: This operation deletes a ProductSpecification entity. operationId: deleteProductSpecification parameters: - $ref: '#/components/parameters/Id' responses: '202': $ref: '#/components/responses/202' '204': $ref: '#/components/responses/204' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '409': $ref: '#/components/responses/409' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' components: schemas: PartyRoleRef: allOf: - $ref: '#/components/schemas/EntityRef' - type: object description: Party role reference. A party role represents the part played by a party in a given context. properties: partyId: type: string description: The identifier of the engaged party that is linked to the PartyRole object. partyName: type: string description: The name of the engaged party that is linked to the PartyRole object. discriminator: propertyName: '@type' mapping: PartyRoleRef: '#/components/schemas/PartyRoleRef' CategoryRef_MVO: allOf: - $ref: '#/components/schemas/EntityRef' - type: object description: Reference to a category in the catalog. properties: version: type: string description: Version of the category discriminator: propertyName: '@type' mapping: CategoryRef: '#/components/schemas/CategoryRef_MVO' Entity_MVO: type: object description: Base entity schema for use in TMForum Open-APIs. Property. allOf: - $ref: '#/components/schemas/Extensible' Entity_FVO: type: object description: Base entity schema for use in TMForum Open-APIs. Property. allOf: - $ref: '#/components/schemas/Extensible_FVO' - $ref: '#/components/schemas/Addressable_FVO' AttachmentRefOrValue_MVO: type: object description: The polymorphic attributes @type, @schemaLocation & @referredType are related to the Attachment entity and not the AttachmentRefOrValue class itself oneOf: - $ref: '#/components/schemas/Attachment_MVO' - $ref: '#/components/schemas/AttachmentRef_MVO' discriminator: propertyName: '@type' mapping: Attachment: '#/components/schemas/Attachment_MVO' AttachmentRef: '#/components/schemas/AttachmentRef_MVO' PartyRefOrPartyRoleRef_MVO: type: object description: '' oneOf: - $ref: '#/components/schemas/PartyRef_MVO' - $ref: '#/components/schemas/PartyRoleRef_MVO' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef_MVO' PartyRoleRef: '#/components/schemas/PartyRoleRef_MVO' Extensible_FVO: type: object description: Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type properties: '@type': type: string description: When sub-classing, this defines the sub-class Extensible name '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string description: A URI to a JSON-Schema file that defines additional attributes and relationships required: - '@type' TargetProductSchema_FVO: type: object description: The reference object to the schema and type of target product which is described by product specification properties: '@type': type: string description: Class type of the target product '@schemaLocation': type: string format: uri description: This field provides a link to the schema describing the target product required: - '@type' - '@schemaLocation' IntentSpecificationRef_MVO: type: object allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: IntentSpecificationRef: '#/components/schemas/IntentSpecificationRef_MVO' BundledProductSpecification_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: A type of ProductSpecification that belongs to a grouping of ProductSpecifications made available to the market. It inherits of all attributes of ProductSpecification. properties: href: type: string description: Reference of the product specification id: type: string description: Unique identifier of the product specification lifecycleStatus: type: string description: Used to indicate the current lifecycle status name: type: string description: Name of the product specification version: type: string description: Version of the product specification discriminator: propertyName: '@type' mapping: BundledProductSpecification: '#/components/schemas/BundledProductSpecification_FVO' PartyRoleRef_MVO: allOf: - $ref: '#/components/schemas/EntityRef' - type: object description: Party role reference. A party role represents the part played by a party in a given context. properties: partyId: type: string description: The identifier of the engaged party that is linked to the PartyRole object. partyName: type: string description: The name of the engaged party that is linked to the PartyRole object. discriminator: propertyName: '@type' mapping: PartyRoleRef: '#/components/schemas/PartyRoleRef_MVO' JsonPatchOperations: description: JSONPatch Operations document as defined by RFC 6902 type: array items: $ref: '#/components/schemas/JsonPatch' TargetProductSchema_MVO: type: object description: The reference object to the schema and type of target product which is described by product specification properties: '@type': type: string description: Class type of the target product '@schemaLocation': type: string format: uri description: This field provides a link to the schema describing the target product RelatedPartyRefOrPartyRoleRef: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: RelatedParty reference. A related party defines party or party role or its reference, linked to a specific entity properties: role: description: Role played by the related party or party role in the context of the specific entity it is linked to. Such as 'initiator', 'customer', 'salesAgent', 'user' type: string partyOrPartyRole: $ref: '#/components/schemas/PartyRefOrPartyRoleRef' discriminator: propertyName: '@type' mapping: RelatedPartyRefOrPartyRoleRef: '#/components/schemas/RelatedPartyRefOrPartyRoleRef' JsonPatch: type: object description: A JSONPatch document as defined by RFC 6902 required: - op - path properties: op: type: string description: The operation to be performed enum: - add - remove - replace - move - copy - test path: type: string description: A JSON-Pointer value: description: The value to be used within the operations. from: type: string description: A string containing a JSON Pointer value. TimePeriod: type: object description: A period of time, either as a deadline (endDateTime only) a startDateTime only, or both properties: startDateTime: description: Start of the time period, using IETC-RFC-3339 format type: string format: date-time example: '1985-04-12T23:20:50.52Z' endDateTime: description: End of the time period, using IETC-RFC-3339 format type: string format: date-time example: '1985-04-12T23:20:50.52Z' PartyRef_MVO: type: object description: A Party reference allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef_MVO' ServiceSpecificationRef_MVO: allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/EntityRef' - type: object description: 'Service specification reference: ServiceSpecification(s) required to realize a ProductSpecification.' properties: version: type: string description: Service specification version discriminator: propertyName: '@type' mapping: ServiceSpecificationRef: '#/components/schemas/ServiceSpecificationRef_MVO' CharacteristicSpecification_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: This class defines a characteristic specification. properties: id: type: string description: Unique ID for the characteristic name: type: string description: A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications. valueType: type: string description: A kind of value that the characteristic can take on, such as numeric, text and so forth description: type: string description: A narrative that explains the CharacteristicSpecification. configurable: type: boolean description: If true, the Boolean indicates that the target Characteristic is configurable validFor: $ref: '#/components/schemas/TimePeriod' minCardinality: type: integer description: The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality. maxCardinality: type: integer description: The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality. isUnique: type: boolean description: Specifies if the value of this characteristic is unique across all entities instantiated from the specification that uses this characteristc. For example, consider a ProductSpecification for a set-top box, with a CharacteristicSpecification cardID. Each set-top box must have a different value for cardID, so this isUnique attribute would be set to true for the characteristic. regex: type: string description: A rule or principle represented in regular expression used to derive the value of a characteristic value. extensible: type: boolean description: An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource. '@valueSchemaLocation': type: string description: This (optional) field provides a link to the schema describing the value type. charSpecRelationship: type: array items: $ref: '#/components/schemas/CharacteristicSpecificationRelationship_MVO' description: An aggregation, migration, substitution, dependency or exclusivity relationship between/among Specification Characteristics. characteristicValueSpecification: type: array items: $ref: '#/components/schemas/CharacteristicValueSpecification_MVO' description: A CharacteristicValueSpecification object is used to define a set of attributes, each of which can be assigned to a corresponding set of attributes in a CharacteristicSpecification object. The values of the attributes in the CharacteristicValueSpecification object describe the values of the attributes that a corresponding Characteristic object can take on. required: - name - valueType discriminator: propertyName: '@type' mapping: CharacteristicSpecification: '#/components/schemas/CharacteristicSpecification_MVO' Error: discriminator: propertyName: '@type' mapping: Error: '#/components/schemas/Error' allOf: - $ref: '#/components/schemas/Extensible' - 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 description: URI of documentation describing the error. description: Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx) PartyRefOrPartyRoleRef_FVO: type: object description: '' oneOf: - $ref: '#/components/schemas/PartyRef_FVO' - $ref: '#/components/schemas/PartyRoleRef_FVO' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef_FVO' PartyRoleRef: '#/components/schemas/PartyRoleRef_FVO' ProductSpecification: allOf: - $ref: '#/components/schemas/Entity' - type: object description: Is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role. properties: brand: type: string description: The manufacturer or trademark of the specification description: type: string description: A narrative that explains in detail what the product specification is isBundle: type: boolean description: isBundle determines whether a productSpecification represents a single productSpecification (false), or a bundle of productSpecification (true). productNumber: type: string description: An identification number assigned to uniquely identity the specification category: type: array items: $ref: '#/components/schemas/CategoryRef' description: The category resource is used to group product specifications in logical containers. Categories can contain other categories and/or other catalog entries. validFor: $ref: '#/components/schemas/TimePeriod' version: type: string description: Product specification version relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyRefOrPartyRoleRef' description: A related party defines party or party role linked to a specific entity. productSpecCharacteristic: type: array items: $ref: '#/components/schemas/CharacteristicSpecification' description: A characteristic quality or distinctive feature of a ProductSpecification. The characteristic can be take on a discrete value, such as color, can take on a range of values, (for example, sensitivity of 100-240 mV), or can be derived from a formula (for example, usage time (hrs) = 30 - talk time *3). Certain characteristics, such as color, may be configured during the ordering or some other process. serviceSpecification: type: array items: $ref: '#/components/schemas/ServiceSpecificationRef' description: ServiceSpecification(s) required to realize a ProductSpecification. bundledProductSpecification: type: array items: $ref: '#/components/schemas/BundledProductSpecification' description: A type of ProductSpecification that belongs to a grouping of ProductSpecifications made available to the market. It inherits of all attributes of ProductSpecification. productSpecificationRelationship: type: array items: $ref: '#/components/schemas/ProductSpecificationRelationship' description: A migration, substitution, dependency or exclusivity relationship between/among product specifications. resourceSpecification: type: array items: $ref: '#/components/schemas/ResourceSpecificationRef' description: The ResourceSpecification is required to realize a ProductSpecification. attachment: type: array items: $ref: '#/components/schemas/AttachmentRefOrValue' description: Complements the description of an element (for instance a product) through video, pictures... policy: type: array items: $ref: '#/components/schemas/PolicyRef' description: The Policy resource represents a policy/rule applied to ProductSpecification. targetProductSchema: $ref: '#/components/schemas/TargetProductSchema' intentSpecification: $ref: '#/components/schemas/IntentSpecificationRef' lastUpdate: type: string format: date-time description: Date and time of the last update lifecycleStatus: type: string description: Used to indicate the current lifecycle status name: type: string description: Name of the product specification externalIdentifier: type: array description: List of external identifieers for the specification, e.g. identifier in source catalog items: $ref: '#/components/schemas/ExternalIdentifier' discriminator: propertyName: '@type' mapping: ProductSpecification: '#/components/schemas/ProductSpecification' EntityRef: allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/Addressable' - type: object description: Entity reference schema to be use for all entityRef class. properties: id: type: string description: The identifier of the referred entity. href: type: string description: The URI of the referred entity. name: type: string description: Name of the referred entity. '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id PolicyRef: allOf: - $ref: '#/components/schemas/EntityRef' - type: object description: Reference to managed Policy object properties: id: type: string description: unique identifier href: type: string description: Hyperlink reference version: type: string '@type': type: string description: When sub-classing, this defines the sub-class Extensible name '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string description: A URI to a JSON-Schema file that defines additional attributes and relationships discriminator: propertyName: '@type' mapping: PolicyRef: '#/components/schemas/PolicyRef' IntentSpecificationRef_FVO: type: object allOf: - $ref: '#/components/schemas/EntityRef_FVO' discriminator: propertyName: '@type' mapping: IntentSpecificationRef: '#/components/schemas/IntentSpecificationRef_FVO' ResourceSpecificationRef: allOf: - $ref: '#/components/schemas/EntityRef' - 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: version: type: string description: Resource Specification version discriminator: propertyName: '@type' mapping: ResourceSpecificationRef: '#/components/schemas/ResourceSpecificationRef' BundledProductSpecification: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: A type of ProductSpecification that belongs to a grouping of ProductSpecifications made available to the market. It inherits of all attributes of ProductSpecification. properties: href: type: string description: Reference of the product specification id: type: string description: Unique identifier of the product specification lifecycleStatus: type: string description: Used to indicate the current lifecycle status name: type: string description: Name of the product specification version: type: string description: Version of the product specification discriminator: propertyName: '@type' mapping: BundledProductSpecification: '#/components/schemas/BundledProductSpecification' CharacteristicSpecification_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: This class defines a characteristic specification. properties: id: type: string description: Unique ID for the characteristic name: type: string description: A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications. valueType: type: string description: A kind of value that the characteristic can take on, such as numeric, text and so forth description: type: string description: A narrative that explains the CharacteristicSpecification. configurable: type: boolean description: If true, the Boolean indicates that the target Characteristic is configurable validFor: $ref: '#/components/schemas/TimePeriod' minCardinality: type: integer description: The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality. maxCardinality: type: integer description: The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality. isUnique: type: boolean description: Specifies if the value of this characteristic is unique across all entities instantiated from the specification that uses this characteristc. For example, consider a ProductSpecification for a set-top box, with a CharacteristicSpecification cardID. Each set-top box must have a different value for cardID, so this isUnique attribute would be set to true for the characteristic. regex: type: string description: A rule or principle represented in regular expression used to derive the value of a characteristic value. extensible: type: boolean description: An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource. '@valueSchemaLocation': type: string description: This (optional) field provides a link to the schema describing the value type. charSpecRelationship: type: array items: $ref: '#/components/schemas/CharacteristicSpecificationRelationship_FVO' description: An aggregation, migration, substitution, dependency or exclusivity relationship between/among Specification Characteristics. characteristicValueSpecification: type: array items: $ref: '#/components/schemas/CharacteristicValueSpecification_FVO' description: A CharacteristicValueSpecification object is used to define a set of attributes, each of which can be assigned to a corresponding set of attributes in a CharacteristicSpecification object. The values of the attributes in the CharacteristicValueSpecification object describe the values of the attributes that a corresponding Characteristic object can take on. required: - name - valueType discriminator: propertyName: '@type' mapping: CharacteristicSpecification: '#/components/schemas/CharacteristicSpecification_FVO' AttachmentRef_FVO: allOf: - $ref: '#/components/schemas/EntityRef_FVO' - type: object description: Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures properties: description: type: string description: A narrative text describing the content of the attachment url: description: Link to the attachment media/content type: string discriminator: propertyName: '@type' mapping: AttachmentRef: '#/components/schemas/AttachmentRef_FVO' CategoryRef: allOf: - $ref: '#/components/schemas/EntityRef' - type: object description: Reference to a category in the catalog. properties: version: type: string description: Version of the category discriminator: propertyName: '@type' mapping: CategoryRef: '#/components/schemas/CategoryRef' CharacteristicValueSpecification: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: specification of a value (number or text or an object) that can be assigned to a Characteristic. This is an abstract base class, the actual value is in one of the strongly-typed subclasses properties: valueType: type: string description: A kind of value that the characteristic value can take on, such as numeric, text and so forth isDefault: type: boolean description: If true, the Boolean Indicates if the value is the default value for a characteristic unitOfMeasure: type: string description: A length, surface, volume, dry measure, liquid measure, money, weight, time, and the like. In general, a determinate quantity or magnitude of the kind designated, taken as a standard of comparison for others of the same kind, in assigning to them numerical values, as 1 foot, 1 yard, 1 mile, 1 square foot. validFor: $ref: '#/components/schemas/TimePeriod' valueFrom: type: integer description: The low range value that a characteristic can take on valueTo: type: integer description: The upper range value that a characteristic can take on rangeInterval: type: string description: An indicator that specifies the inclusion or exclusion of the valueFrom and valueTo attributes. If applicable, possible values are "open", "closed", "closedBottom" and "closedTop". regex: type: string description: A regular expression constraint for given value discriminator: propertyName: '@type' mapping: CharacteristicValueSpecification: '#/components/schemas/CharacteristicValueSpecification' StringCharacteristicValueSpecification: '#/components/schemas/StringCharacteristicValueSpecification' StringArrayCharacteristicValueSpecification: '#/components/schemas/StringArrayCharacteristicValueSpecification' ObjectCharacteristicValueSpecification: '#/components/schemas/ObjectCharacteristicValueSpecification' ObjectArrayCharacteristicValueSpecification: '#/components/schemas/ObjectArrayCharacteristicValueSpecification' NumberCharacteristicValueSpecification: '#/components/schemas/NumberCharacteristicValueSpecification' NumberArrayCharacteristicValueSpecification: '#/components/schemas/NumberArrayCharacteristicValueSpecification' MapCharacteristicValueSpecification: '#/components/schemas/MapCharacteristicValueSpecification' MapArrayCharacteristicValueSpecification: '#/components/schemas/MapArrayCharacteristicValueSpecification' IntegerCharacteristicValueSpecification: '#/components/schemas/IntegerCharacteristicValueSpecification' IntegerArrayCharacteristicValueSpecification: '#/components/schemas/IntegerArrayCharacteristicValueSpecification' CharacteristicValueSpecification_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: specification of a value (number or text or an object) that can be assigned to a Characteristic. This is an abstract base class, the actual value is in one of the strongly-typed subclasses properties: valueType: type: string description: A kind of value that the characteristic value can take on, such as numeric, text and so forth isDefault: type: boolean description: If true, the Boolean Indicates if the value is the default value for a characteristic unitOfMeasure: type: string description: A length, surface, volume, dry measure, liquid measure, money, weight, time, and the like. In general, a determinate quantity or magnitude of the kind designated, taken as a standard of comparison for others of the same kind, in assigning to them numerical values, as 1 foot, 1 yard, 1 mile, 1 square foot. validFor: $ref: '#/components/schemas/TimePeriod' valueFrom: type: integer description: The low range value that a characteristic can take on valueTo: type: integer description: The upper range value that a characteristic can take on rangeInterval: type: string description: An indicator that specifies the inclusion or exclusion of the valueFrom and valueTo attributes. If applicable, possible values are "open", "closed", "closedBottom" and "closedTop". regex: type: string description: A regular expression constraint for given value discriminator: propertyName: '@type' mapping: CharacteristicValueSpecification: '#/components/schemas/CharacteristicValueSpecification_FVO' StringCharacteristicValueSpecification: '#/components/schemas/StringCharacteristicValueSpecification_FVO' StringArrayCharacteristicValueSpecification: '#/components/schemas/StringArrayCharacteristicValueSpecification_FVO' ObjectCharacteristicValueSpecification: '#/components/schemas/ObjectCharacteristicValueSpecification_FVO' ObjectArrayCharacteristicValueSpecification: '#/components/schemas/ObjectArrayCharacteristicValueSpecification_FVO' NumberCharacteristicValueSpecification: '#/components/schemas/NumberCharacteristicValueSpecification_FVO' NumberArrayCharacteristicValueSpecification: '#/components/schemas/NumberArrayCharacteristicValueSpecification_FVO' MapCharacteristicValueSpecification: '#/components/schemas/MapCharacteristicValueSpecification_FVO' MapArrayCharacteristicValueSpecification: '#/components/schemas/MapArrayCharacteristicValueSpecification_FVO' IntegerCharacteristicValueSpecification: '#/components/schemas/IntegerCharacteristicValueSpecification_FVO' IntegerArrayCharacteristicValueSpecification: '#/components/schemas/IntegerArrayCharacteristicValueSpecification_FVO' PartyRoleRef_FVO: allOf: - $ref: '#/components/schemas/EntityRef_FVO' - type: object description: Party role reference. A party role represents the part played by a party in a given context. properties: partyId: type: string description: The identifier of the engaged party that is linked to the PartyRole object. partyName: type: string description: The name of the engaged party that is linked to the PartyRole object. discriminator: propertyName: '@type' mapping: PartyRoleRef: '#/components/schemas/PartyRoleRef_FVO' AttachmentRef_MVO: allOf: - $ref: '#/components/schemas/EntityRef' - type: object description: Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures properties: description: type: string description: A narrative text describing the content of the attachment url: description: Link to the attachment media/content type: string discriminator: propertyName: '@type' mapping: AttachmentRef: '#/components/schemas/AttachmentRef_MVO' TargetProductSchema: type: object description: The reference object to the schema and type of target product which is described by product specification properties: '@type': type: string description: Class type of the target product '@schemaLocation': type: string format: uri description: This field provides a link to the schema describing the target product Entity: type: object description: Base entity schema for use in TMForum Open-APIs. Property. allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/Addressable' Attachment_FVO: allOf: - $ref: '#/components/schemas/Entity_FVO' - type: object description: Complements the description of an element (for instance a product) through video, pictures... properties: name: type: string description: The name of the attachment description: type: string description: A narrative text describing the content of the attachment example: Photograph of the Product url: type: string description: Uniform Resource Locator, is a web page address (a subset of URI) example: http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f content: type: string format: base64 description: The actual contents of the attachment object, if embedded, encoded as base64 size: $ref: '#/components/schemas/Quantity' validFor: $ref: '#/components/schemas/TimePeriod' attachmentType: type: string description: a business characterization of the purpose of the attachment, for example logo, instructionManual, contractCopy mimeType: type: string description: a technical characterization of the attachment content format using IETF Mime Types required: - attachmentType - mimeType discriminator: propertyName: '@type' mapping: Attachment: '#/components/schemas/Attachment_FVO' CategoryRef_FVO: allOf: - $ref: '#/components/schemas/EntityRef_FVO' - type: object description: Reference to a category in the catalog. properties: version: type: string description: Version of the category discriminator: propertyName: '@type' mapping: CategoryRef: '#/components/schemas/CategoryRef_FVO' Attachment: allOf: - $ref: '#/components/schemas/Entity' - type: object description: Complements the description of an element (for instance a product) through video, pictures... properties: name: type: string description: The name of the attachment description: type: string description: A narrative text describing the content of the attachment example: Photograph of the Product url: type: string description: Uniform Resource Locator, is a web page address (a subset of URI) example: http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f content: type: string format: base64 description: The actual contents of the attachment object, if embedded, encoded as base64 size: $ref: '#/components/schemas/Quantity' validFor: $ref: '#/components/schemas/TimePeriod' attachmentType: type: string description: a business characterization of the purpose of the attachment, for example logo, instructionManual, contractCopy mimeType: type: string description: a technical characterization of the attachment content format using IETF Mime Types discriminator: propertyName: '@type' mapping: Attachment: '#/components/schemas/Attachment' CharacteristicSpecificationRelationship_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: An aggregation, migration, substitution, dependency or exclusivity relationship between/among Characteristic specifications. The specification characteristic is embedded within the specification whose ID and href are in this entity, and identified by its ID. properties: relationshipType: type: string description: Type of relationship such as aggregation, migration, substitution, dependency, exclusivity name: type: string description: Name of the target characteristic within the specification characteristicSpecificationId: type: string description: Unique identifier of the characteristic within the specification parentSpecificationHref: type: string format: uri description: Hyperlink reference to the parent specification containing the target characteristic validFor: $ref: '#/components/schemas/TimePeriod' parentSpecificationId: type: string description: Unique identifier of the parent specification containing the target characteristic required: - parentSpecificationId - name - relationshipType discriminator: propertyName: '@type' mapping: CharacteristicSpecificationRelationship: '#/components/schemas/CharacteristicSpecificationRelationship_MVO' Addressable: type: object description: Base schema for adressable entities properties: href: type: string description: Hyperlink reference id: type: string description: unique identifier ResourceSpecificationRef_FVO: allOf: - $ref: '#/components/schemas/EntityRef_FVO' - 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: version: type: string description: Resource Specification version discriminator: propertyName: '@type' mapping: ResourceSpecificationRef: '#/components/schemas/ResourceSpecificationRef_FVO' ProductSpecificationRelationship: allOf: - $ref: '#/components/schemas/EntityRef' - type: object description: A migration, substitution, dependency or exclusivity relationship between/among product specifications. properties: characteristic: type: array items: $ref: '#/components/schemas/CharacteristicSpecification' description: A characteristic that refines the relationship. For example, consider the relationship between broadband and TV. For a 4k TV it is important to know the minimum bandwidth to support 4k, so a characteristic Resolution might be defined on the relationship to allow capturing of this in the inventory validFor: $ref: '#/components/schemas/TimePeriod' relationshipType: type: string description: type of the relationship, for example override, discount, etc. version: type: string description: Version of the referred product specification. discriminator: propertyName: '@type' mapping: ProductSpecificationRelationship: '#/components/schemas/ProductSpecificationRelationship' CharacteristicSpecificationRelationship: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: An aggregation, migration, substitution, dependency or exclusivity relationship between/among Characteristic specifications. The specification characteristic is embedded within the specification whose ID and href are in this entity, and identified by its ID. properties: relationshipType: type: string description: Type of relationship such as aggregation, migration, substitution, dependency, exclusivity name: type: string description: Name of the target characteristic within the specification characteristicSpecificationId: type: string description: Unique identifier of the characteristic within the specification parentSpecificationHref: type: string format: uri description: Hyperlink reference to the parent specification containing the target characteristic validFor: $ref: '#/components/schemas/TimePeriod' parentSpecificationId: type: string description: Unique identifier of the parent specification containing the target characteristic discriminator: propertyName: '@type' mapping: CharacteristicSpecificationRelationship: '#/components/schemas/CharacteristicSpecificationRelationship' ServiceSpecificationRef: allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/EntityRef' - type: object description: 'Service specification reference: ServiceSpecification(s) required to realize a ProductSpecification.' properties: version: type: string description: Service specification version discriminator: propertyName: '@type' mapping: ServiceSpecificationRef: '#/components/schemas/ServiceSpecificationRef' Attachment_MVO: allOf: - $ref: '#/components/schemas/Entity_MVO' - type: object description: Complements the description of an element (for instance a product) through video, pictures... properties: name: type: string description: The name of the attachment description: type: string description: A narrative text describing the content of the attachment example: Photograph of the Product url: type: string description: Uniform Resource Locator, is a web page address (a subset of URI) example: http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f content: type: string format: base64 description: The actual contents of the attachment object, if embedded, encoded as base64 size: $ref: '#/components/schemas/Quantity' validFor: $ref: '#/components/schemas/TimePeriod' attachmentType: type: string description: a business characterization of the purpose of the attachment, for example logo, instructionManual, contractCopy mimeType: type: string description: a technical characterization of the attachment content format using IETF Mime Types discriminator: propertyName: '@type' mapping: Attachment: '#/components/schemas/Attachment_MVO' ProductSpecificationRelationship_MVO: allOf: - $ref: '#/components/schemas/EntityRef' - type: object description: A migration, substitution, dependency or exclusivity relationship between/among product specifications. properties: characteristic: type: array items: $ref: '#/components/schemas/CharacteristicSpecification_MVO' description: A characteristic that refines the relationship. For example, consider the relationship between broadband and TV. For a 4k TV it is important to know the minimum bandwidth to support 4k, so a characteristic Resolution might be defined on the relationship to allow capturing of this in the inventory validFor: $ref: '#/components/schemas/TimePeriod' relationshipType: type: string description: type of the relationship, for example override, discount, etc. version: type: string description: Version of the referred product specification. required: - id - relationshipType discriminator: propertyName: '@type' mapping: ProductSpecificationRelationship: '#/components/schemas/ProductSpecificationRelationship_MVO' ServiceSpecificationRef_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - $ref: '#/components/schemas/EntityRef_FVO' - type: object description: 'Service specification reference: ServiceSpecification(s) required to realize a ProductSpecification.' properties: version: type: string description: Service specification version discriminator: propertyName: '@type' mapping: ServiceSpecificationRef: '#/components/schemas/ServiceSpecificationRef_FVO' BundledProductSpecification_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: A type of ProductSpecification that belongs to a grouping of ProductSpecifications made available to the market. It inherits of all attributes of ProductSpecification. properties: href: type: string description: Reference of the product specification id: type: string description: Unique identifier of the product specification lifecycleStatus: type: string description: Used to indicate the current lifecycle status name: type: string description: Name of the product specification version: type: string description: Version of the product specification discriminator: propertyName: '@type' mapping: BundledProductSpecification: '#/components/schemas/BundledProductSpecification_MVO' ExternalIdentifier_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list. properties: owner: type: string description: Name of the external system that owns the entity. example: MagentoCommerce externalIdentifierType: type: string description: Type of the identification, typically would be the type of the entity within the external system example: ProductOrder id: type: string description: identification of the entity within the external system. discriminator: propertyName: '@type' mapping: ExternalIdentifier: '#/components/schemas/ExternalIdentifier_MVO' AttachmentRef: allOf: - $ref: '#/components/schemas/EntityRef' - type: object description: Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures properties: description: type: string description: A narrative text describing the content of the attachment url: description: Link to the attachment media/content type: string discriminator: propertyName: '@type' mapping: AttachmentRef: '#/components/schemas/AttachmentRef' ResourceSpecificationRef_MVO: allOf: - $ref: '#/components/schemas/EntityRef' - 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: version: type: string description: Resource Specification version discriminator: propertyName: '@type' mapping: ResourceSpecificationRef: '#/components/schemas/ResourceSpecificationRef_MVO' CharacteristicSpecification: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: This class defines a characteristic specification. properties: id: type: string description: Unique ID for the characteristic name: type: string description: A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications. valueType: type: string description: A kind of value that the characteristic can take on, such as numeric, text and so forth description: type: string description: A narrative that explains the CharacteristicSpecification. configurable: type: boolean description: If true, the Boolean indicates that the target Characteristic is configurable validFor: $ref: '#/components/schemas/TimePeriod' minCardinality: type: integer description: The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality. maxCardinality: type: integer description: The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality. isUnique: type: boolean description: Specifies if the value of this characteristic is unique across all entities instantiated from the specification that uses this characteristc. For example, consider a ProductSpecification for a set-top box, with a CharacteristicSpecification cardID. Each set-top box must have a different value for cardID, so this isUnique attribute would be set to true for the characteristic. regex: type: string description: A rule or principle represented in regular expression used to derive the value of a characteristic value. extensible: type: boolean description: An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource. '@valueSchemaLocation': type: string description: This (optional) field provides a link to the schema describing the value type. charSpecRelationship: type: array items: $ref: '#/components/schemas/CharacteristicSpecificationRelationship' description: An aggregation, migration, substitution, dependency or exclusivity relationship between/among Specification Characteristics. characteristicValueSpecification: type: array items: $ref: '#/components/schemas/CharacteristicValueSpecification' description: A CharacteristicValueSpecification object is used to define a set of attributes, each of which can be assigned to a corresponding set of attributes in a CharacteristicSpecification object. The values of the attributes in the CharacteristicValueSpecification object describe the values of the attributes that a corresponding Characteristic object can take on. discriminator: propertyName: '@type' mapping: CharacteristicSpecification: '#/components/schemas/CharacteristicSpecification' PolicyRef_FVO: allOf: - $ref: '#/components/schemas/EntityRef_FVO' - type: object description: Reference to managed Policy object properties: id: type: string description: unique identifier href: type: string description: Hyperlink reference version: type: string '@type': type: string description: When sub-classing, this defines the sub-class Extensible name '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string description: A URI to a JSON-Schema file that defines additional attributes and relationships required: - id discriminator: propertyName: '@type' mapping: PolicyRef: '#/components/schemas/PolicyRef_FVO' PartyRef: type: object description: A Party reference allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef' PartyRefOrPartyRoleRef: type: object description: '' oneOf: - $ref: '#/components/schemas/PartyRef' - $ref: '#/components/schemas/PartyRoleRef' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef' PartyRoleRef: '#/components/schemas/PartyRoleRef' CharacteristicValueSpecification_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: specification of a value (number or text or an object) that can be assigned to a Characteristic. This is an abstract base class, the actual value is in one of the strongly-typed subclasses properties: valueType: type: string description: A kind of value that the characteristic value can take on, such as numeric, text and so forth isDefault: type: boolean description: If true, the Boolean Indicates if the value is the default value for a characteristic unitOfMeasure: type: string description: A length, surface, volume, dry measure, liquid measure, money, weight, time, and the like. In general, a determinate quantity or magnitude of the kind designated, taken as a standard of comparison for others of the same kind, in assigning to them numerical values, as 1 foot, 1 yard, 1 mile, 1 square foot. validFor: $ref: '#/components/schemas/TimePeriod' valueFrom: type: integer description: The low range value that a characteristic can take on valueTo: type: integer description: The upper range value that a characteristic can take on rangeInterval: type: string description: An indicator that specifies the inclusion or exclusion of the valueFrom and valueTo attributes. If applicable, possible values are "open", "closed", "closedBottom" and "closedTop". regex: type: string description: A regular expression constraint for given value discriminator: propertyName: '@type' mapping: CharacteristicValueSpecification: '#/components/schemas/CharacteristicValueSpecification_MVO' StringCharacteristicValueSpecification: '#/components/schemas/StringCharacteristicValueSpecification_MVO' StringArrayCharacteristicValueSpecification: '#/components/schemas/StringArrayCharacteristicValueSpecification_MVO' ObjectCharacteristicValueSpecification: '#/components/schemas/ObjectCharacteristicValueSpecification_MVO' ObjectArrayCharacteristicValueSpecification: '#/components/schemas/ObjectArrayCharacteristicValueSpecification_MVO' NumberCharacteristicValueSpecification: '#/components/schemas/NumberCharacteristicValueSpecification_MVO' NumberArrayCharacteristicValueSpecification: '#/components/schemas/NumberArrayCharacteristicValueSpecification_MVO' MapCharacteristicValueSpecification: '#/components/schemas/MapCharacteristicValueSpecification_MVO' MapArrayCharacteristicValueSpecification: '#/components/schemas/MapArrayCharacteristicValueSpecification_MVO' IntegerCharacteristicValueSpecification: '#/components/schemas/IntegerCharacteristicValueSpecification_MVO' IntegerArrayCharacteristicValueSpecification: '#/components/schemas/IntegerArrayCharacteristicValueSpecification_MVO' IntentSpecificationRef: type: object allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: IntentSpecificationRef: '#/components/schemas/IntentSpecificationRef' ExternalIdentifier_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list. properties: owner: type: string description: Name of the external system that owns the entity. example: MagentoCommerce externalIdentifierType: type: string description: Type of the identification, typically would be the type of the entity within the external system example: ProductOrder id: type: string description: identification of the entity within the external system. required: - id discriminator: propertyName: '@type' mapping: ExternalIdentifier: '#/components/schemas/ExternalIdentifier_FVO' ProductSpecification_MVO: allOf: - $ref: '#/components/schemas/Entity_MVO' - type: object description: Is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role. properties: brand: type: string description: The manufacturer or trademark of the specification description: type: string description: A narrative that explains in detail what the product specification is isBundle: type: boolean description: isBundle determines whether a productSpecification represents a single productSpecification (false), or a bundle of productSpecification (true). productNumber: type: string description: An identification number assigned to uniquely identity the specification category: type: array items: $ref: '#/components/schemas/CategoryRef_MVO' description: The category resource is used to group product specifications in logical containers. Categories can contain other categories and/or other catalog entries. validFor: $ref: '#/components/schemas/TimePeriod' version: type: string description: Product specification version relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyRefOrPartyRoleRef_MVO' description: A related party defines party or party role linked to a specific entity. productSpecCharacteristic: type: array items: $ref: '#/components/schemas/CharacteristicSpecification_MVO' description: A characteristic quality or distinctive feature of a ProductSpecification. The characteristic can be take on a discrete value, such as color, can take on a range of values, (for example, sensitivity of 100-240 mV), or can be derived from a formula (for example, usage time (hrs) = 30 - talk time *3). Certain characteristics, such as color, may be configured during the ordering or some other process. serviceSpecification: type: array items: $ref: '#/components/schemas/ServiceSpecificationRef_MVO' description: ServiceSpecification(s) required to realize a ProductSpecification. bundledProductSpecification: type: array items: $ref: '#/components/schemas/BundledProductSpecification_MVO' description: A type of ProductSpecification that belongs to a grouping of ProductSpecifications made available to the market. It inherits of all attributes of ProductSpecification. productSpecificationRelationship: type: array items: $ref: '#/components/schemas/ProductSpecificationRelationship_MVO' description: A migration, substitution, dependency or exclusivity relationship between/among product specifications. resourceSpecification: type: array items: $ref: '#/components/schemas/ResourceSpecificationRef_MVO' description: The ResourceSpecification is required to realize a ProductSpecification. attachment: type: array items: $ref: '#/components/schemas/AttachmentRefOrValue_MVO' description: Complements the description of an element (for instance a product) through video, pictures... policy: type: array items: $ref: '#/components/schemas/PolicyRef_MVO' description: The Policy resource represents a policy/rule applied to ProductSpecification. targetProductSchema: $ref: '#/components/schemas/TargetProductSchema_MVO' intentSpecification: $ref: '#/components/schemas/IntentSpecificationRef_MVO' lifecycleStatus: type: string description: Used to indicate the current lifecycle status name: type: string description: Name of the product specification externalIdentifier: type: array description: List of external identifieers for the specification, e.g. identifier in source catalog items: $ref: '#/components/schemas/ExternalIdentifier_MVO' discriminator: propertyName: '@type' mapping: ProductSpecification: '#/components/schemas/ProductSpecification_MVO' RelatedPartyRefOrPartyRoleRef_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: RelatedParty reference. A related party defines party or party role or its reference, linked to a specific entity properties: role: description: Role played by the related party or party role in the context of the specific entity it is linked to. Such as 'initiator', 'customer', 'salesAgent', 'user' type: string partyOrPartyRole: $ref: '#/components/schemas/PartyRefOrPartyRoleRef_MVO' discriminator: propertyName: '@type' mapping: RelatedPartyRefOrPartyRoleRef: '#/components/schemas/RelatedPartyRefOrPartyRoleRef_MVO' Extensible: type: object description: Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type properties: '@type': type: string description: When sub-classing, this defines the sub-class Extensible name '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string description: A URI to a JSON-Schema file that defines additional attributes and relationships required: - '@type' PartyRef_FVO: type: object description: A Party reference allOf: - $ref: '#/components/schemas/EntityRef_FVO' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef_FVO' ExternalIdentifier: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list. properties: owner: type: string description: Name of the external system that owns the entity. example: MagentoCommerce externalIdentifierType: type: string description: Type of the identification, typically would be the type of the entity within the external system example: ProductOrder id: type: string description: identification of the entity within the external system. discriminator: propertyName: '@type' mapping: ExternalIdentifier: '#/components/schemas/ExternalIdentifier' AttachmentRefOrValue_FVO: type: object description: The polymorphic attributes @type, @schemaLocation & @referredType are related to the Attachment entity and not the AttachmentRefOrValue class itself oneOf: - $ref: '#/components/schemas/Attachment_FVO' - $ref: '#/components/schemas/AttachmentRef_FVO' discriminator: propertyName: '@type' mapping: Attachment: '#/components/schemas/Attachment_FVO' AttachmentRef: '#/components/schemas/AttachmentRef_FVO' ProductSpecificationRelationship_FVO: allOf: - $ref: '#/components/schemas/EntityRef_FVO' - type: object description: A migration, substitution, dependency or exclusivity relationship between/among product specifications. properties: characteristic: type: array items: $ref: '#/components/schemas/CharacteristicSpecification_FVO' description: A characteristic that refines the relationship. For example, consider the relationship between broadband and TV. For a 4k TV it is important to know the minimum bandwidth to support 4k, so a characteristic Resolution might be defined on the relationship to allow capturing of this in the inventory validFor: $ref: '#/components/schemas/TimePeriod' relationshipType: type: string description: type of the relationship, for example override, discount, etc. version: type: string description: Version of the referred product specification. required: - id - relationshipType discriminator: propertyName: '@type' mapping: ProductSpecificationRelationship: '#/components/schemas/ProductSpecificationRelationship_FVO' Quantity: type: object description: An amount in a given unit properties: amount: type: number format: float default: 1 description: Numeric value in a given unit units: type: string description: Unit ProductSpecification_FVO: allOf: - $ref: '#/components/schemas/Entity_FVO' - type: object description: Is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role. properties: brand: type: string description: The manufacturer or trademark of the specification description: type: string description: A narrative that explains in detail what the product specification is isBundle: type: boolean description: isBundle determines whether a productSpecification represents a single productSpecification (false), or a bundle of productSpecification (true). productNumber: type: string description: An identification number assigned to uniquely identity the specification category: type: array items: $ref: '#/components/schemas/CategoryRef_FVO' description: The category resource is used to group product specifications in logical containers. Categories can contain other categories and/or other catalog entries. validFor: $ref: '#/components/schemas/TimePeriod' version: type: string description: Product specification version relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyRefOrPartyRoleRef_FVO' description: A related party defines party or party role linked to a specific entity. productSpecCharacteristic: type: array items: $ref: '#/components/schemas/CharacteristicSpecification_FVO' description: A characteristic quality or distinctive feature of a ProductSpecification. The characteristic can be take on a discrete value, such as color, can take on a range of values, (for example, sensitivity of 100-240 mV), or can be derived from a formula (for example, usage time (hrs) = 30 - talk time *3). Certain characteristics, such as color, may be configured during the ordering or some other process. serviceSpecification: type: array items: $ref: '#/components/schemas/ServiceSpecificationRef_FVO' description: ServiceSpecification(s) required to realize a ProductSpecification. bundledProductSpecification: type: array items: $ref: '#/components/schemas/BundledProductSpecification_FVO' description: A type of ProductSpecification that belongs to a grouping of ProductSpecifications made available to the market. It inherits of all attributes of ProductSpecification. productSpecificationRelationship: type: array items: $ref: '#/components/schemas/ProductSpecificationRelationship_FVO' description: A migration, substitution, dependency or exclusivity relationship between/among product specifications. resourceSpecification: type: array items: $ref: '#/components/schemas/ResourceSpecificationRef_FVO' description: The ResourceSpecification is required to realize a ProductSpecification. attachment: type: array items: $ref: '#/components/schemas/AttachmentRefOrValue_FVO' description: Complements the description of an element (for instance a product) through video, pictures... policy: type: array items: $ref: '#/components/schemas/PolicyRef_FVO' description: The Policy resource represents a policy/rule applied to ProductSpecification. targetProductSchema: $ref: '#/components/schemas/TargetProductSchema_FVO' intentSpecification: $ref: '#/components/schemas/IntentSpecificationRef_FVO' lastUpdate: type: string format: date-time description: Date and time of the last update lifecycleStatus: type: string description: Used to indicate the current lifecycle status name: type: string description: Name of the product specification externalIdentifier: type: array description: List of external identifieers for the specification, e.g. identifier in source catalog items: $ref: '#/components/schemas/ExternalIdentifier_FVO' required: - lastUpdate - lifecycleStatus - name - '@type' discriminator: propertyName: '@type' mapping: ProductSpecification: '#/components/schemas/ProductSpecification_FVO' AttachmentRefOrValue: type: object description: The polymorphic attributes @type, @schemaLocation & @referredType are related to the Attachment entity and not the AttachmentRefOrValue class itself oneOf: - $ref: '#/components/schemas/Attachment' - $ref: '#/components/schemas/AttachmentRef' discriminator: propertyName: '@type' mapping: Attachment: '#/components/schemas/Attachment' AttachmentRef: '#/components/schemas/AttachmentRef' PolicyRef_MVO: allOf: - $ref: '#/components/schemas/EntityRef' - type: object description: Reference to managed Policy object properties: id: type: string description: unique identifier href: type: string description: Hyperlink reference version: type: string '@type': type: string description: When sub-classing, this defines the sub-class Extensible name '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string description: A URI to a JSON-Schema file that defines additional attributes and relationships discriminator: propertyName: '@type' mapping: PolicyRef: '#/components/schemas/PolicyRef_MVO' EntityRef_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - $ref: '#/components/schemas/Addressable_FVO' - type: object description: Entity reference schema to be use for all entityRef class. properties: id: type: string description: The identifier of the referred entity. href: type: string description: The URI of the referred entity. name: type: string description: Name of the referred entity. '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id CharacteristicSpecificationRelationship_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: An aggregation, migration, substitution, dependency or exclusivity relationship between/among Characteristic specifications. The specification characteristic is embedded within the specification whose ID and href are in this entity, and identified by its ID. properties: relationshipType: type: string description: Type of relationship such as aggregation, migration, substitution, dependency, exclusivity name: type: string description: Name of the target characteristic within the specification characteristicSpecificationId: type: string description: Unique identifier of the characteristic within the specification parentSpecificationHref: type: string format: uri description: Hyperlink reference to the parent specification containing the target characteristic validFor: $ref: '#/components/schemas/TimePeriod' parentSpecificationId: type: string description: Unique identifier of the parent specification containing the target characteristic required: - parentSpecificationId - name - relationshipType discriminator: propertyName: '@type' mapping: CharacteristicSpecificationRelationship: '#/components/schemas/CharacteristicSpecificationRelationship_FVO' RelatedPartyRefOrPartyRoleRef_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: RelatedParty reference. A related party defines party or party role or its reference, linked to a specific entity properties: role: description: Role played by the related party or party role in the context of the specific entity it is linked to. Such as 'initiator', 'customer', 'salesAgent', 'user' type: string partyOrPartyRole: $ref: '#/components/schemas/PartyRefOrPartyRoleRef_FVO' required: - role discriminator: propertyName: '@type' mapping: RelatedPartyRefOrPartyRoleRef: '#/components/schemas/RelatedPartyRefOrPartyRoleRef_FVO' Addressable_FVO: type: object description: Base schema for adressable entities properties: id: type: string description: unique identifier examples: Product_Specification_Update_JSON_Patch_response: value: id: '9881' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/9881 name: Cisco Firepower NGFW brand: Cisco productNumber: CSC-340-NGFW description: Powerful product that integrates with a firewall, including intrusion prevention, advanced malware protection, cloud-based sandboxing, URL filtering, endpoint protection, web gateway, email security, network traffic analysis, network access control and CASB. isBundle: true lastUpdate: '2020-09-23T16:42:23Z' lifecycleStatus: Active version: '3.1' validFor: startDateTime: '2020-11-24T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' relatedParty: - role: Owner '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '1234' href: https://mycsp.com:8080/tmf-api/partyManagement/v5/partyRole/1234 name: Gustave Flaubert '@type': PartyRef '@referredType': Individual - role: Technical Expert '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '4321' href: https://mycsp.com:8080/tmf-api/partyManagement/v5/partyRole/4321 name: Jean Jones '@type': PartyRefOrPartyRoleRef '@referredType': PartyRole attachment: - id: '22' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Picture mimeType: image/jpeg url: https://mycsp.com:7070/docloader?docnum=774451234 '@referredType': Attachment - id: '33' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Manual mimeType: application/pdf url: https://mycsp.com:7070/docloader?docnum=774454321 '@referredType': Attachment bundledProductSpecification: - id: '15' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/15 name: URL Filter '@type': BundledProductSpecification lifecycleStatus: Active - id: '64' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/64 name: Malware Protector '@type': BundledProductSpecification lifecycleStatus: Active targetProductSchema: '@type': Firewall '@schemaLocation': https://mycsp.com:8080/tmf-api/schema/Product/Firewall.schema.json productSpecificationRelationship: - id: '23' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/23 relationshipType: OptionalFor validFor: startDateTime: '2020-09-23T16:42:23Z' name: DataPlan role: A-Item '@referredType': ProductSpecification '@type': ProductSpecificationRelationship serviceSpecification: - id: '22' href: https://mycsp.com:8080/tmf-api/serviceCatalogManagement/v5/serviceSpecification/22 name: Firewall version: '1.0' '@referredType': ServiceSpecification '@type': ServiceSpecificationRef resourceSpecification: - id: '63' href: https://mycsp.com:8080/tmf-api/resourceCatalogManagement/v5/resourceSpecification/63 name: Firewall Port version: '1.0' '@referredType': PhysicalResourceSpecification '@type': ResourceSpecificationRef productSpecCharacteristic: - name: Number of Ports description: The total Number of Ports for this product valueType: number configurable: true minCardinality: 1 maxCardinality: 1 isUnique: true '@type': ProductSpecificationCharacteristic productSpecCharRelationship: - parentSpecificationId: '43' parentSpecificationHref: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/43 characteristicSpecificationId: '2' relationshipType: Dependency name: Bandwidth validFor: startDateTime: '2020-09-23T16:42:23-04:00' '@type': CharacteristicSpecificationRelationship characteristicValueSpecification: - isDefault: true valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: 8 '@type': NumberCharacteristicValueSpecification - isDefault: false valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: 16 '@type': NumberCharacteristicValueSpecification - isDefault: false valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: 24 '@type': NumberCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' - name: Color description: Color of the Firewall housing valueType: string configurable: true minCardinality: 1 maxCardinality: 1 extensible: true isUnique: true '@type': CharacteristicSpecification characteristicValueSpecification: - isDefault: true valueType: string value: Black '@type': StringCharacteristicValueSpecification - isDefault: false valueType: string value: White '@type': StringCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' '@type': ProductSpecification description: The updated product specification with related party Product_Specification_Update_JSON_Patch_Query_request: value: - op: replace path: /productSpecCharacteristic/characteristicValueSpecification/isDefault?value=/productSpecCharacteristic/characteristicValueSpecification/Black value: false - op: replace path: /productSpecCharacteristic/characteristicValueSpecification/isDefault?value=/productSpecCharacteristic/characteristicValueSpecification/White value: true description: Here is an example of a request for updating a product specification by changing the default value for a characteristic. Product_Specification_Create_example_response: value: id: '9881' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/9881 name: Cisco Firepower NGFW brand: Cisco productNumber: CSC-340-NGFW description: Powerful product that integrates with a firewall, including intrusion prevention, advanced malware protection, cloud-based sandboxing, URL filtering, endpoint protection, web gateway, email security, network traffic analysis, network access control and CASB. isBundle: true lastUpdate: '2020-09-23T16:42:23Z' lifecycleStatus: Active validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T16:42:23Z' version: '1.0' relatedParty: - role: Owner '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '1234' href: https://mycsp.com:8080/tmf-api/partyManagement/v5/partyRole/1234 name: Gustave Flaubert '@type': PartyRef '@referredType': Individual attachment: - id: '22' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Picture mimeType: image/jpeg url: https://mycsp.com:7070/docloader?docnum=774451234 '@referredType': Attachment '@type': AttachmentRefOrValue - id: '33' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Manual mimeType: application/pdf url: https://mycsp.com:7070/docloader?docnum=774454321 '@referredType': Attachment '@type': AttachmentRefOrValue bundledProductSpecification: - id: '15' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/15 name: URL Filter '@type': BundledProductSpecification lifecycleStatus: Active - id: '64' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/64 name: Malware Protector '@type': BundledProductSpecification lifecycleStatus: Active targetProductSchema: '@type': Firewall '@schemaLocation': https://mycsp.com:8080/tmf-api/schema/Product/Firewall.schema.json productSpecificationRelationship: - id: '23' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/23 relationshipType: OptionalFor validFor: startDateTime: '2020-09-23T16:42:23Z' name: DataPlan role: A-Item '@referredType': ProductSpecification '@type': ProductSpecificationRelationship serviceSpecification: - id: '22' href: https://mycsp.com:8080/tmf-api/serviceCatalogManagement/v5/serviceSpecification/22 name: Firewall version: '1.0' '@referredType': ServiceSpecification '@type': ServiceSpecificationRef resourceSpecification: - id: '63' href: https://mycsp.com:8080/tmf-api/resourceCatalogManagement/v5/resourceSpecification/63 name: Firewall Port version: '1.0' '@referredType': PhysicalResourceSpecification '@type': ResourceSpecificationRef productSpecCharacteristic: - name: Number of Ports description: The total Number of Ports for this product valueType: number configurable: true minCardinality: 1 maxCardinality: 1 isUnique: true '@type': CharacteristicSpecification charSpecRelationship: - parentSpecificationId: '43' parentSpecificationHref: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/43 characteristicSpecificationId: '2' name: Bandwidth validFor: startDateTime: '2020-09-23T16:42:23-04:00' '@type': CharacteristicSpecificationRelationship characteristicValueSpecification: - isDefault: true valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: '8' '@type': NumberCharacteristicValueSpecification - isDefault: false valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: '16' '@type': NumberCharacteristicValueSpecification - isDefault: false valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: '24' '@type': NumberCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' - name: Color description: Color of the Firewall housing valueType: string configurable: true minCardinality: 1 maxCardinality: 1 extensible: true isUnique: true '@type': CharacteristicSpecification characteristicValueSpecification: - isDefault: true valueType: string value: Black '@type': StringCharacteristicValueSpecification - isDefault: false valueType: string value: White '@type': StringCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' '@type': ProductSpecification description: Here is an example of a response for creating a product specification. Product_Specification_Update_JSON_Patch_Query_response: value: id: '9881' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/9881 name: Cisco Firepower NGFW brand: Cisco productNumber: CSC-340-NGFW description: Powerful product that integrates with a firewall, including intrusion prevention, advanced malware protection, cloud-based sandboxing, URL filtering, endpoint protection, web gateway, email security, network traffic analysis, network access control and CASB. isBundle: true lastUpdate: '2020-09-23T16:42:23Z' lifecycleStatus: Active version: '3.1' validFor: startDateTime: '2020-11-24T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' relatedParty: - role: Owner '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '1234' href: https://mycsp.com:8080/tmf-api/partyManagement/v5/partyRole/1234 name: Gustave Flaubert '@type': PartyRef '@referredType': Individual - role: Technical Expert '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '4321' href: https://mycsp.com:8080/tmf-api/partyManagement/v5/partyRole/4321 name: Jean Jones '@type': PartyRefOrPartyRoleRef '@referredType': PartyRole attachment: - id: '22' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Picture mimeType: image/jpeg url: https://mycsp.com:7070/docloader?docnum=774451234 '@referredType': Attachment - id: '33' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Manual mimeType: application/pdf url: https://mycsp.com:7070/docloader?docnum=774454321 '@referredType': Attachment bundledProductSpecification: - id: '15' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/15 name: URL Filter '@type': BundledProductSpecification lifecycleStatus: Active - id: '64' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/64 name: Malware Protector '@type': BundledProductSpecification lifecycleStatus: Active targetProductSchema: '@type': Firewall '@schemaLocation': https://mycsp.com:8080/tmf-api/schema/Product/Firewall.schema.json productSpecificationRelationship: - id: '23' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/23 relationshipType: OptionalFor validFor: startDateTime: '2020-09-23T16:42:23Z' name: DataPlan role: A-Item '@referredType': ProductSpecification '@type': ProductSpecificationRelationship serviceSpecification: - id: '22' href: https://mycsp.com:8080/tmf-api/serviceCatalogManagement/v5/serviceSpecification/22 name: Firewall version: '1.0' '@referredType': ServiceSpecification '@type': ServiceSpecificationRef resourceSpecification: - id: '63' href: https://mycsp.com:8080/tmf-api/resourceCatalogManagement/v5/resourceSpecification/63 name: Firewall Port version: '1.0' '@referredType': PhysicalResourceSpecification '@type': ResourceSpecificationRef productSpecCharacteristic: - name: Number of Ports description: The total Number of Ports for this product valueType: number configurable: true minCardinality: 1 maxCardinality: 1 isUnique: true '@type': ProductSpecificationCharacteristic productSpecCharRelationship: - parentSpecificationId: '43' parentSpecificationHref: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/43 characteristicSpecificationId: '2' relationshipType: Dependency name: Bandwidth validFor: startDateTime: '2020-09-23T16:42:23-04:00' '@type': CharacteristicSpecificationRelationship characteristicValueSpecification: - isDefault: true valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: 8 '@type': NumberCharacteristicValueSpecification - isDefault: false valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: 16 '@type': NumberCharacteristicValueSpecification - isDefault: false valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: 24 '@type': NumberCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' - name: Color description: Color of the Firewall housing valueType: string configurable: true minCardinality: 1 maxCardinality: 1 extensible: true isUnique: true '@type': CharacteristicSpecification characteristicValueSpecification: - isDefault: false valueType: string value: Black '@type': StringCharacteristicValueSpecification - isDefault: true valueType: string value: White '@type': StringCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' '@type': ProductSpecification description: The updated product specification with changed default value for a characteristic Product_Specification_Create_example_with_intent_response: value: id: '9881' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/9881 name: Cisco Firepower NGFW brand: Cisco productNumber: CSC-340-NGFW description: Powerful product that integrates with a firewall, including intrusion prevention, advanced malware protection, cloud-based sandboxing, URL filtering, endpoint protection, web gateway, email security, network traffic analysis, network access control and CASB. isBundle: true lastUpdate: '2020-09-23T16:42:23Z' lifecycleStatus: Active validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T16:42:23Z' version: '1.0' relatedParty: - role: Owner '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '1234' href: https://mycsp.com:8080/tmf-api/partyManagement/v5/partyRole/1234 name: Gustave Flaubert '@type': PartyRef '@referredType': Individual attachment: - id: '22' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Picture mimeType: image/jpeg url: https://mycsp.com:7070/docloader?docnum=774451234 '@referredType': Attachment '@type': AttachmentRefOrValue - id: '33' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Manual mimeType: application/pdf url: https://mycsp.com:7070/docloader?docnum=774454321 '@referredType': Attachment '@type': AttachmentRefOrValue bundledProductSpecification: - id: '15' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/15 name: URL Filter '@type': BundledProductSpecification lifecycleStatus: Active - id: '64' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/64 name: Malware Protector '@type': BundledProductSpecification lifecycleStatus: Active targetProductSchema: '@type': Firewall '@schemaLocation': https://mycsp.com:8080/tmf-api/schema/Product/Firewall.schema.json productSpecificationRelationship: - id: '23' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/23 relationshipType: OptionalFor validFor: startDateTime: '2020-09-23T16:42:23Z' name: DataPlan role: A-Item '@referredType': ProductSpecification '@type': ProductSpecificationRelationship serviceSpecification: - id: '22' href: https://mycsp.com:8080/tmf-api/serviceCatalogManagement/v5/serviceSpecification/22 name: Firewall version: '1.0' '@referredType': ServiceSpecification '@type': ServiceSpecificationRef resourceSpecification: - id: '63' href: https://mycsp.com:8080/tmf-api/resourceCatalogManagement/v5/resourceSpecification/63 name: Firewall Port version: '1.0' '@referredType': PhysicalResourceSpecification '@type': ResourceSpecificationRef intentSpecification: '@type': IntentSpecificationRef id: EventLiveBroadcast_IntentSpec name: EventLiveBroadcastIntentSpec '@referredType': IntentSpecification '@href': /intent/v5/IntentSpecification/EventLiveBroadcast_IntentSpec '@type': ProductSpecification description: Here is an example of a response for creating a product specification specification with intent specifications. Product_Specification_Update_Patch_Merge_example_response: value: id: '9881' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/9881 name: Cisco Firepower NGFW brand: Cisco productNumber: CSC-340-NGFW description: Powerful product that integrates with a firewall, including intrusion prevention, advanced malware protection, cloud-based sandboxing, URL filtering, endpoint protection, web gateway, email security, network traffic analysis, network access control and CASB. isBundle: true lastUpdate: '2020-09-23T16:42:23Z' lifecycleStatus: Active version: '3.1' validFor: startDateTime: '2020-11-24T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' relatedParty: - role: Owner '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '1234' href: https://mycsp.com:8080/tmf-api/partyManagement/v5/partyRole/1234 name: Gustave Flaubert '@type': PartyRef '@referredType': Individual attachment: - id: '22' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Picture mimeType: image/jpeg url: https://mycsp.com:7070/docloader?docnum=774451234 '@referredType': Attachment '@type': AttachmentRefOrValue - id: '33' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Manual mimeType: application/pdf url: https://mycsp.com:7070/docloader?docnum=774454321 '@referredType': Attachment '@type': AttachmentRefOrValue bundledProductSpecification: - id: '15' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/15 name: URL Filter '@type': BundledProductSpecification '@baseType': '' lifecycleStatus: Active - id: '64' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/64 name: Malware Protector '@type': BundledProductSpecification '@baseType': '' lifecycleStatus: Active targetProductSchema: '@type': Firewall '@schemaLocation': https://mycsp.com:8080/tmf-api/schema/Product/Firewall.schema.json productSpecificationRelationship: - id: '23' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/23 relationshipType: OptionalFor validFor: startDateTime: '2020-09-23T16:42:23Z' name: DataPlan role: A-Item '@referredType': ProductSpecification '@type': ProductSpecificationRelationship serviceSpecification: - id: '22' href: https://mycsp.com:8080/tmf-api/serviceCatalogManagement/v5/serviceSpecification/22 name: Firewall version: '1.0' '@referredType': ServiceSpecification '@type': ServiceSpecificationRef resourceSpecification: - id: '63' href: https://mycsp.com:8080/tmf-api/resourceCatalogManagement/v5/resourceSpecification/63 name: Firewall Port version: '1.0' '@referredType': PhysicalResourceSpecification '@type': ResourceSpecificationRef productSpecCharacteristic: - name: Number of Ports description: The total Number of Ports for this product valueType: number configurable: true minCardinality: 1 maxCardinality: 1 isUnique: true '@type': CharacteristicSpecification productSpecCharRelationship: - parentSpecificationId: '43' parentSpecificationHref: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/43 characteristicSpecificationId: '2' relationshipType: Dependency name: Bandwidth validFor: startDateTime: '2020-09-23T16:42:23-04:00' '@type': CharacteristicSpecificationRelationship characteristicValueSpecification: - isDefault: true valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: 8 '@type': NumberCharacteristicValueSpecification - isDefault: false valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: 16 '@type': NumberCharacteristicValueSpecification - isDefault: false valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: 24 '@type': NumberCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' - name: Color description: Color of the Firewall housing valueType: string configurable: true minCardinality: 1 maxCardinality: 1 extensible: true isUnique: true '@type': CharacteristicSpecification characteristicValueSpecification: - isDefault: true valueType: string value: Black '@type': StringCharacteristicValueSpecification - isDefault: false valueType: string value: White '@type': StringCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' '@type': ProductSpecification description: Here is an example of a response for updating a product specification using JSON Patch. Product_Specification_Update_Patch_Merge_example_request: value: version: '3.1' validFor: startDateTime: '2020-11-24T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' '@type': ProductSpecification description: Here is an example of a request for updating a product specification. Product_Specification_Update_Implicit_Merge_example_response: value: id: '9881' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/9881 name: Cisco Firepower NGFW brand: Cisco productNumber: CSC-340-NGFW description: Powerful product that integrates with a firewall, including intrusion prevention, advanced malware protection, cloud-based sandboxing, URL filtering, endpoint protection, web gateway, email security, network traffic analysis, network access control and CASB. isBundle: true lastUpdate: '2020-09-23T16:42:23Z' lifecycleStatus: Active version: '3.1' validFor: startDateTime: '2020-11-24T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' relatedParty: - role: Owner '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '1234' href: https://mycsp.com:8080/tmf-api/partyManagement/v5/partyRole/1234 name: Gustave Flaubert '@type': PartyRef '@referredType': Individual attachment: - id: '22' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Picture mimeType: image/jpeg url: https://mycsp.com:7070/docloader?docnum=774451234 '@referredType': Attachment '@type': AttachmentRefOrValue - id: '33' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Manual mimeType: application/pdf url: https://mycsp.com:7070/docloader?docnum=774454321 '@referredType': Attachment '@type': AttachmentRefOrValue bundledProductSpecification: - id: '15' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/15 name: URL Filter '@type': BundledProductSpecification '@baseType': '' lifecycleStatus: Active - id: '64' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/64 name: Malware Protector '@type': BundledProductSpecification '@baseType': '' lifecycleStatus: Active targetProductSchema: '@type': Firewall '@schemaLocation': https://mycsp.com:8080/tmf-api/schema/Product/Firewall.schema.json productSpecificationRelationship: - id: '23' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/23 relationshipType: OptionalFor validFor: startDateTime: '2020-09-23T16:42:23Z' name: DataPlan role: A-Item '@referredType': ProductSpecification '@type': ProductSpecificationRelationship serviceSpecification: - id: '22' href: https://mycsp.com:8080/tmf-api/serviceCatalogManagement/v5/serviceSpecification/22 name: Firewall version: '1.0' '@referredType': ServiceSpecification '@type': ServiceSpecificationRef resourceSpecification: - id: '63' href: https://mycsp.com:8080/tmf-api/resourceCatalogManagement/v5/resourceSpecification/63 name: Firewall Port version: '1.0' '@referredType': PhysicalResourceSpecification '@type': ResourceSpecificationRef productSpecCharacteristic: - name: Number of Ports description: The total Number of Ports for this product valueType: number configurable: true minCardinality: 1 maxCardinality: 1 isUnique: true '@type': CharacteristicSpecification productSpecCharRelationship: - parentSpecificationId: '43' parentSpecificationHref: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/43 characteristicSpecificationId: '2' relationshipType: Dependency name: Bandwidth validFor: startDateTime: '2020-09-23T16:42:23-04:00' '@type': CharacteristicSpecificationRelationship characteristicValueSpecification: - isDefault: true valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: 8 '@type': NumberCharacteristicValueSpecification - isDefault: false valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: 16 '@type': NumberCharacteristicValueSpecification - isDefault: false valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: 24 '@type': NumberCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' - name: Color description: Color of the Firewall housing valueType: string configurable: true minCardinality: 1 maxCardinality: 1 extensible: true isUnique: true '@type': CharacteristicSpecification characteristicValueSpecification: - isDefault: true valueType: string value: Black '@type': StringCharacteristicValueSpecification - isDefault: false valueType: string value: White '@type': StringCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' '@type': ProductSpecification description: Here is an example of a response for updating a product specification using JSON Patch. ProductSpecification_retrieve_example_response: value: id: '9881' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/9881 name: Cisco Firepower NGFW brand: Cisco productNumber: CSC-340-NGFW description: Powerful product that integrates with a firewall, including intrusion prevention, advanced malware protection, cloud-based sandboxing, URL filtering, endpoint protection, web gateway, email security, network traffic analysis, network access control and CASB. isBundle: true lastUpdate: '2020-09-23T16:42:23Z' lifecycleStatus: Active validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T16:42:23Z' version: '2.0' relatedParty: - role: Owner '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '1234' href: https://mycsp.com:8080/tmf-api/partyManagement/v5/partyRole/1234 name: Gustave Flaubert '@type': PartyRef '@referredType': Individual attachment: - id: '22' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Picture mimeType: image/jpeg url: https://mycsp.com:7070/docloader?docnum=774451234 '@referredType': Attachment '@type': AttachmentRefOrValue - id: '33' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Manual mimeType: application/pdf url: https://mycsp.com:7070/docloader?docnum=774454321 '@referredType': Attachment '@type': AttachmentRefOrValue bundledProductSpecification: - id: '15' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/15 name: URL Filter '@type': BundledProductSpecification lifecycleStatus: Active - id: '64' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/64 name: Malware Protector '@type': BundledProductSpecification lifecycleStatus: Active targetProductSchema: '@type': Firewall '@schemaLocation': https://mycsp.com:8080/tmf-api/schema/Product/Firewall.schema.json productSpecificationRelationship: - id: '23' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/23 relationshipType: OptionalFor validFor: startDateTime: '2020-09-23T16:42:23Z' name: DataPlan role: A-Item '@referredType': ProductSpecification '@type': ProductSpecificationRelationship serviceSpecification: - id: '22' href: https://mycsp.com:8080/tmf-api/serviceCatalogManagement/v5/serviceSpecification/22 name: Firewall version: '1.0' '@referredType': ServiceSpecification '@type': ServiceSpecificationRef resourceSpecification: - id: '63' href: https://mycsp.com:8080/tmf-api/resourceCatalogManagement/v5/resourceSpecification/63 name: Firewall Port version: '1.0' '@referredType': PhysicalResourceSpecification '@type': ResourceSpecificationRef productSpecCharacteristic: - name: Number of Ports description: The total Number of Ports for this product valueType: number configurable: true minCardinality: 1 maxCardinality: 1 isUnique: true '@type': CharacteristicSpecification charSpecRelationship: - parentSpecificationId: '43' parentSpecificationHref: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/43 characteristicSpecificationId: '2' relationshipType: Dependency name: Bandwidth validFor: startDateTime: '2020-09-23T16:42:23-04:00' '@type': CharacteristicSpecificationRelationship characteristicValueSpecification: - isDefault: true valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: 8 '@type': NumberCharacteristicValueSpecification - isDefault: false valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: 16 '@type': NumberCharacteristicValueSpecification - isDefault: false valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: 24 '@type': NumberCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' - name: Color description: Color of the Firewall housing valueType: string configurable: true minCardinality: 1 maxCardinality: 1 extensible: true isUnique: true '@type': CharacteristicSpecification characteristicValueSpecification: - isDefault: true valueType: string value: Black '@type': StringCharacteristicValueSpecification - isDefault: false valueType: string value: White '@type': StringCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' '@type': ProductSpecification description: Here is an example of a request for retrieving a specific specification. Product_Specification_Create_example_request: value: id: '9881' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/9881 name: Cisco Firepower NGFW brand: Cisco productNumber: CSC-340-NGFW description: Powerful product that integrates with a firewall, including intrusion prevention, advanced malware protection, cloud-based sandboxing, URL filtering, endpoint protection, web gateway, email security, network traffic analysis, network access control and CASB. isBundle: true lastUpdate: '2020-09-23T16:42:23Z' lifecycleStatus: Active validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T16:42:23Z' version: '1.0' relatedParty: - role: Owner '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '1234' href: https://mycsp.com:8080/tmf-api/partyManagement/v5/partyRole/1234 name: Gustave Flaubert '@type': PartyRef '@referredType': Individual attachment: - id: '22' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Picture mimeType: image/jpeg url: https://mycsp.com:7070/docloader?docnum=774451234 '@referredType': Attachment '@type': AttachmentRef - id: '33' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Manual mimeType: application/pdf url: https://mycsp.com:7070/docloader?docnum=774454321 '@referredType': Attachment '@type': AttachmentRef bundledProductSpecification: - id: '15' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/15 name: URL Filter '@type': BundledProductSpecification lifecycleStatus: Active - id: '64' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/64 name: Malware Protector '@type': BundledProductSpecification lifecycleStatus: Active targetProductSchema: '@type': Firewall '@schemaLocation': https://mycsp.com:8080/tmf-api/schema/Product/Firewall.schema.json productSpecificationRelationship: - id: '23' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/23 relationshipType: OptionalFor validFor: startDateTime: '2020-09-23T16:42:23Z' name: DataPlan role: A-Item '@referredType': ProductSpecification '@type': ProductSpecificationRelationship serviceSpecification: - id: '22' href: https://mycsp.com:8080/tmf-api/serviceCatalogManagement/v5/serviceSpecification/22 name: Firewall version: '1.0' '@referredType': ServiceSpecification '@type': ServiceSpecificationRef resourceSpecification: - id: '63' href: https://mycsp.com:8080/tmf-api/resourceCatalogManagement/v5/resourceSpecification/63 name: Firewall Port version: '1.0' '@referredType': PhysicalResourceSpecification '@type': ResourceSpecificationRef productSpecCharacteristic: - name: Number of Ports description: The total Number of Ports for this product valueType: number configurable: true minCardinality: 1 maxCardinality: 1 isUnique: true '@type': CharacteristicSpecification charSpecRelationship: - parentSpecificationId: '43' parentSpecificationHref: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/43 characteristicSpecificationId: '2' relationshipType: dependency name: Bandwidth validFor: startDateTime: '2020-09-23T16:42:23-04:00' '@type': CharacteristicSpecificationRelationship characteristicValueSpecification: - isDefault: true valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: '8' '@type': NumberCharacteristicValueSpecification - isDefault: false valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: '16' '@type': NumberCharacteristicValueSpecification - isDefault: false valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: '24' '@type': NumberCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' - name: Color description: Color of the Firewall housing valueType: string configurable: true minCardinality: 1 maxCardinality: 1 extensible: true isUnique: true '@type': CharacteristicSpecification characteristicValueSpecification: - isDefault: true valueType: string value: Black '@type': StringCharacteristicValueSpecification - isDefault: false valueType: string value: White '@type': StringCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' '@type': ProductSpecification description: Here is an example of a request for creating a product specification. Product_Specification_Create_example_with_intent_request: value: id: '9881' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/9881 name: Cisco Firepower NGFW brand: Cisco productNumber: CSC-340-NGFW description: Powerful product that integrates with a firewall, including intrusion prevention, advanced malware protection, cloud-based sandboxing, URL filtering, endpoint protection, web gateway, email security, network traffic analysis, network access control and CASB. isBundle: true lastUpdate: '2020-09-23T16:42:23Z' lifecycleStatus: Active validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T16:42:23Z' version: '1.0' relatedParty: - role: Owner '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '1234' href: https://mycsp.com:8080/tmf-api/partyManagement/v5/partyRole/1234 name: Gustave Flaubert '@type': PartyRef '@referredType': Individual attachment: - id: '22' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Picture mimeType: image/jpeg url: https://mycsp.com:7070/docloader?docnum=774451234 '@referredType': Attachment '@type': AttachmentRef - id: '33' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Manual mimeType: application/pdf url: https://mycsp.com:7070/docloader?docnum=774454321 '@referredType': Attachment '@type': AttachmentRef bundledProductSpecification: - id: '15' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/15 name: URL Filter '@type': BundledProductSpecification lifecycleStatus: Active - id: '64' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/64 name: Malware Protector '@type': BundledProductSpecification lifecycleStatus: Active targetProductSchema: '@type': Firewall '@schemaLocation': https://mycsp.com:8080/tmf-api/schema/Product/Firewall.schema.json productSpecificationRelationship: - id: '23' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/23 relationshipType: OptionalFor validFor: startDateTime: '2020-09-23T16:42:23Z' name: DataPlan role: A-Item '@referredType': ProductSpecification '@type': ProductSpecificationRelationship serviceSpecification: - id: '22' href: https://mycsp.com:8080/tmf-api/serviceCatalogManagement/v5/serviceSpecification/22 name: Firewall version: '1.0' '@referredType': ServiceSpecification '@type': ServiceSpecificationRef resourceSpecification: - id: '63' href: https://mycsp.com:8080/tmf-api/resourceCatalogManagement/v5/resourceSpecification/63 name: Firewall Port version: '1.0' '@referredType': PhysicalResourceSpecification '@type': ResourceSpecificationRef intentSpecification: '@type': IntentSpecificationRef id: EventLiveBroadcast_IntentSpec name: EventLiveBroadcastIntentSpec '@referredType': IntentSpecification '@href': /intent/v5/IntentSpecification/EventLiveBroadcast_IntentSpec '@type': ProductSpecification description: Here is an example of a request for creating a product specification with intent specifications. ProductSpecification_list_example_response: value: - id: '9881' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/9881 name: Cisco Firepower NGFW brand: Cisco productNumber: CSC-340-NGFW description: Powerful product that integrates with a firewall, including intrusion prevention, advanced malware protection, cloud-based sandboxing, URL filtering, endpoint protection, web gateway, email security, network traffic analysis, network access control and CASB. isBundle: true lastUpdate: '2020-09-23T16:42:23Z' lifecycleStatus: Active validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T16:42:23Z' version: '2.0' relatedParty: - role: Owner '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '1234' href: https://mycsp.com:8080/tmf-api/partyManagement/v5/partyRole/1234 name: Gustave Flaubert '@type': PartyRef '@referredType': Individual attachment: - id: '22' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Picture mimeType: image/jpeg url: https://mycsp.com:7070/docloader?docnum=774451234 '@referredType': Attachment '@type': AttachmentRefOrValue - id: '33' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/22 name: Product Manual mimeType: application/pdf url: https://mycsp.com:7070/docloader?docnum=774454321 '@referredType': Attachment '@type': AttachmentRefOrValue bundledProductSpecification: - id: '15' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/15 name: URL Filter '@type': BundledProductSpecification '@baseType': '' lifecycleStatus: Active - id: '64' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/64 name: Malware Protector '@type': BundledProductSpecification '@baseType': '' lifecycleStatus: Active targetProductSchema: '@type': Firewall '@schemaLocation': https://mycsp.com:8080/tmf-api/schema/Product/Firewall.schema.json productSpecificationRelationship: - id: '23' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/23 relationshipType: OptionalFor validFor: startDateTime: '2020-09-23T16:42:23Z' name: DataPlan role: A-Item '@referredType': ProductSpecification '@type': ProductSpecificationRelationship serviceSpecification: - id: '22' href: https://mycsp.com:8080/tmf-api/serviceCatalogManagement/v5/serviceSpecification/22 name: Firewall version: '1.0' '@referredType': ServiceSpecification '@type': ServiceSpecificationRef resourceSpecification: - id: '63' href: https://mycsp.com:8080/tmf-api/resourceCatalogManagement/v5/resourceSpecification/63 name: Firewall Port version: '1.0' '@referredType': PhysicalResourceSpecification '@type': ResourceSpecificationRef productSpecCharacteristic: - name: Number of Ports description: The total Number of Ports for this product valueType: number configurable: true minCardinality: 1 maxCardinality: 1 isUnique: true '@type': CharacteristicSpecification charSpecRelationship: - parentSpecificationId: '43' parentSpecificationHref: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/43 characteristicSpecificationId: '2' name: Bandwidth validFor: startDateTime: '2020-09-23T16:42:23-04:00' '@type': CharacteristicSpecificationRelationship characteristicValueSpecification: - isDefault: true valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: '8' '@type': NumberCharacteristicValueSpecification - isDefault: false valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: '16' '@type': NumberCharacteristicValueSpecification - isDefault: false valueType: number validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: '24' '@type': NumberCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' - name: Color description: Color of the Firewall housing valueType: string configurable: true minCardinality: 1 maxCardinality: 1 extensible: true isUnique: true '@type': CharacteristicSpecification characteristicValueSpecification: - isDefault: true valueType: string value: Black '@type': StringCharacteristicValueSpecification - isDefault: false valueType: string value: White '@type': StringCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' '@type': ProductSpecification - id: '5563' href: https://mycsp.com:8080/tmf-api/productCatalogManagement/v5/productSpecification/5563 name: Deep Packet Inspection brand: HPE productNumber: HPE-367-DPI description: This product specification describes a Deep Packet Inspection product that can be deployed in customer premise. isBundle: false lastUpdate: '2020-10-23T16:42:23Z' lifecycleStatus: In Design validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T16:42:23Z' version: '1.0' relatedParty: - role: Owner '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '1234' href: https://mycsp.com:8080/tmf-api/partyManagement/v5/partyRole/1234 name: Gustave Flaubert '@type': PartyRef '@referredType': Individual attachment: - id: '2017' href: https://mycsp.com:8080/tmf-api/documentManagement/v5/attachment/2017 name: Product Manual mimeType: application/pdf url: https://mycsp.com:7070/docloader?docnum=4168051665 '@referredType': Attachment '@type': AttachmentRefOrValue targetProductSchema: '@type': DPI '@schemaLocation': https://mycsp.com:8080/tmf-api/schema/Product/Firewall.schema.json serviceSpecification: - id: '5059' href: https://mycsp.com:8080/tmf-api/serviceCatalogManagement/v5/serviceSpecification/5059 name: DPI Service version: '1.0' '@referredType': ServiceSpecification '@type': ServiceSpecificationRef productSpecCharacteristic: - name: httpIncomingTraffic description: DPI for http Incoming Traffic valueType: string configurable: true minCardinality: 1 maxCardinality: 1 isUnique: true '@type': CharacteristicSpecification characteristicValueSpecification: - isDefault: true valueType: string validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: enabled '@type': StringCharacteristicValueSpecification - isDefault: false valueType: string validFor: startDateTime: '2020-09-23T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' value: disabled '@type': StringCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' - name: httpIOutgoingTraffic description: DPI for http Outgoing Traffic valueType: string configurable: true minCardinality: 1 maxCardinality: 1 extensible: true isUnique: true '@type': CharacteristicSpecification characteristicValueSpecification: - isDefault: false valueType: string value: enabled '@type': StringCharacteristicValueSpecification - isDefault: true valueType: string value: disabled '@type': StringCharacteristicValueSpecification validFor: startDateTime: '2020-09-23T16:42:23Z' '@type': ProductSpecification description: Here is an example of a request for retrieving multiple product specifications. Product_Specification_Update_JSON_Patch_request: value: - op: add path: /relatedParty value: role: Technical Expert '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '4321' href: https://mycsp.com:8080/tmf-api/partyManagement/v5/partyRole/4321 name: Jean Jones '@type': PartyRefOrPartyRoleRef '@referredType': PartyRole description: Here is an example of a request for updating a product specification by adding a related party. Product_Specification_Update_Implicit_Merge_example_request: value: version: '3.1' validFor: startDateTime: '2020-11-24T00:00:00Z' endDateTime: '2022-11-24T00:00:00Z' '@type': ProductSpecification description: Here is an example of a request for updating a product specification. responses: '204': description: Deleted '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '202': description: Accepted '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not allowed content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' 200ProductSpecificationArray: description: Success headers: X-Total-Count: $ref: '#/components/headers/X-Total-Count' X-Result-Count: $ref: '#/components/headers/X-Result-Count' content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductSpecification' examples: ProductSpecification_list_example: $ref: '#/components/examples/ProductSpecification_list_example_response' 200ProductSpecification_Patch: description: Success content: application/json: schema: $ref: '#/components/schemas/ProductSpecification' examples: Product_Specification_Update_Implicit_Merge_example: $ref: '#/components/examples/Product_Specification_Update_Implicit_Merge_example_response' application/merge-patch+json: schema: $ref: '#/components/schemas/ProductSpecification' examples: Product_Specification_Update_Patch_Merge_example: $ref: '#/components/examples/Product_Specification_Update_Patch_Merge_example_response' application/json-patch+json: schema: oneOf: - $ref: '#/components/schemas/ProductSpecification' - type: array items: $ref: '#/components/schemas/ProductSpecification' - type: - string - 'null' examples: Product_Specification_Update_JSON_Patch: $ref: '#/components/examples/Product_Specification_Update_JSON_Patch_response' application/json-patch-query+json: schema: oneOf: - $ref: '#/components/schemas/ProductSpecification' - type: array items: $ref: '#/components/schemas/ProductSpecification' - type: - string - 'null' examples: Product_Specification_Update_JSON_Patch_Query: $ref: '#/components/examples/Product_Specification_Update_JSON_Patch_Query_response' 201ProductSpecification: description: OK/Created content: application/json: schema: $ref: '#/components/schemas/ProductSpecification' examples: Product_Specification_Create_example: $ref: '#/components/examples/Product_Specification_Create_example_response' Product_Specification_Create_example_with_intent: $ref: '#/components/examples/Product_Specification_Create_example_with_intent_response' 200ProductSpecification_Get: description: Success content: application/json: schema: $ref: '#/components/schemas/ProductSpecification' examples: ProductSpecification_retrieve_example: $ref: '#/components/examples/ProductSpecification_retrieve_example_response' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' headers: X-Result-Count: description: Actual number of items returned in the response body schema: type: integer X-Total-Count: description: Total number of items matching criteria schema: type: integer parameters: Fields: name: fields in: query description: Comma-separated properties to be provided in response schema: type: string Offset: name: offset in: query description: Requested index for start of resources to be provided in response schema: type: integer Limit: name: limit in: query description: Requested number of resources to be provided in response schema: type: integer Id: name: id required: true schema: type: string in: path description: Identifier of the Resource requestBodies: ProductSpecification_FVO: description: The ProductSpecification to be created content: application/json: schema: $ref: '#/components/schemas/ProductSpecification_FVO' examples: Product_Specification_Create_example: $ref: '#/components/examples/Product_Specification_Create_example_request' Product_Specification_Create_example_with_intent: $ref: '#/components/examples/Product_Specification_Create_example_with_intent_request' required: true ProductSpecification_MVO: description: The ProductSpecification to be patched content: application/json: schema: $ref: '#/components/schemas/ProductSpecification_MVO' examples: Product_Specification_Update_Implicit_Merge_example: $ref: '#/components/examples/Product_Specification_Update_Implicit_Merge_example_request' application/merge-patch+json: schema: $ref: '#/components/schemas/ProductSpecification_MVO' examples: Product_Specification_Update_Patch_Merge_example: $ref: '#/components/examples/Product_Specification_Update_Patch_Merge_example_request' application/json-patch+json: schema: $ref: '#/components/schemas/JsonPatchOperations' examples: Product_Specification_Update_JSON_Patch: $ref: '#/components/examples/Product_Specification_Update_JSON_Patch_request' application/json-patch-query+json: schema: $ref: '#/components/schemas/JsonPatchOperations' examples: Product_Specification_Update_JSON_Patch_Query: $ref: '#/components/examples/Product_Specification_Update_JSON_Patch_Query_request' required: true