TM Forum productSpecification API

Operations for ProductSpecification Resource

OpenAPI Specification

tm-forum-productspecification-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Product Catalog Management agreement productSpecification API
  description: "Product Catalog API is one of Catalog Management API Family. Product Catalog API goal is to provide a catalog of products. \n### Operations\nProduct Catalog API performs the following operations on the resources :\n- Retrieve an entity or a collection of entities depending on filter criteria\n- Partial update of an entity (including updating rules)\n- Create an entity (including default values and creation rules)\n- Delete an entity\n- Manage notification of events"
  version: 5.0.0
servers:
- url: https://serverRoot/productCatalogManagement/v5/
tags:
- name: productSpecification
  description: Operations for ProductSpecification Resource
paths:
  /productSpecification:
    get:
      tags:
      - productSpecification
      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:
      - productSpecification
      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:
      - productSpecification
      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:
      - productSpecification
      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:
      - productSpecification
      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:
    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
    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'
    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'
    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'
    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'
    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'
    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'
    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'
    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'
    JsonPatchOperations:
      description: JSONPatch Operations document as defined by RFC 6902
      type: array
      items:
        $ref: '#/components/schemas/JsonPatch'
    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'
    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
    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'
    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'
    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'
    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
    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'
    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'
    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'
    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'
    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'
    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'
    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'
    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'
    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
     

# --- truncated at 32 KB (153 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tm-forum/refs/heads/main/openapi/tm-forum-productspecification-api-openapi.yml