TMF621 Trouble Ticket Management

The Trouble Ticket API provides standardized access to telecom trouble ticket management functions including incident creation, tracking, routing, and resolution across network and customer-facing support systems.

OpenAPI Specification

tm-forum-tmf621-trouble-ticket-openapi.yaml Raw ↑
openapi: 3.0.1
info:
  title: Trouble Ticket
  description: "**TMF API Reference : TMF - 621 Trouble Ticket**\nThe Trouble Ticket API provides a standardized client interface to Trouble Ticket Management Systems for creating, tracking and managing
    trouble tickets as a result of an issue or problem identified by a customer or another system. \nExamples of Trouble Ticket API originators (clients) include CRM applications, network management or
    fault management systems, or other Trouble Ticket management systems (e.g. B2B).\nThe API supports the ability to send requests to create a new trouble ticket specifying the nature and severity of the
    trouble or issue as well as all necessary related information. The API also includes mechanisms to search for and update existing trouble tickets. Notifications are defined to provide information when
    a trouble ticket has been updated, including status changes. A basic set of states of a trouble ticket has been specified (as an example) to handle trouble ticket lifecycle management.\nTrouble Ticketing
    API manages trouble ticket resource:\n  -\tA trouble ticket represents a record, or an issue raised by requestor that need to be solved, used for reporting and managing the resolution of problems, incidents
    or request \n -\tMain trouble ticket attributes are its description, severity, type, related dates (creation, expected resolution, resolution), state and related information (change reason and change
    date), related parties (originator, owner, reviser, etc.), related entities (product, product order, customer bill) and notes \n Trouble Ticket API performs the following operations on trouble ticket:\
    \ \n -\tRetrieval of a trouble ticket or a collection of trouble ticket depending on filter criteria \n -\tPartial update of a trouble ticket \n -\tCreation of a trouble ticket \n \tNotification of
    events on trouble ticket: \n \t-\tTrouble ticket state change \n \t-\tTrouble ticket attribute value change \n \t-\tTrouble ticket resoled \n \t-\tTrouble ticket delete (typically restricted to admin
    role) \n \t-\tTrouble ticket created  \n \t-\tTrouble ticket Information required \n Trouble Ticket API performs the following operations on trouble ticket specification \n-\tRetrieval of a trouble
    ticket specification or a collection of trouble ticket specification depending on filter criteria \n -\tPartial update of a trouble ticket specification \n-\tCreation of a trouble ticket specification\
    \ \n-\tNotification of events on trouble ticket specification: \n \t-\tTrouble ticket specification state change \n \t-\tTrouble ticket specification attribute value change \n \t-\tTrouble ticket specification
    delete (typically restricted to admin role) \n \t-\tTrouble ticket specification created "
  version: 5.0.1
  x-generation-tooling-version: v8.5.3-hotfix.0
  x-generation-data-model-version: unknown
servers:
- url: '{apiRoot}/tmf-api/troubleTicket/v5/'
  variables:
    apiRoot:
      default: 'https://serverRoot'
      enum:
      - 'https://serverRoot'
tags:
- name: troubleTicket
  description: Operations for TroubleTicket Resource
- name: troubleTicketSpecification
  description: Operations for TroubleTicketSpecification Resource
- name: notification listener
  description: Notifications for Resource Lifecycle and event notifications
- name: events subscription
  description: Endpoints to register and terminate an Event Listener
paths:
  /hub:
    post:
      operationId: createHub
      summary: TM Forum Create a Subscription (hub) to Receive Events
      description: Sets the communication endpoint to receive Events.
      tags:
      - events subscription
      requestBody:
        $ref: '#/components/requestBodies/Hub_FVO'
      responses:
        '201':
          $ref: '#/components/responses/Hub'
        default:
          $ref: '#/components/responses/Error'
  '/hub/{id}':
    get:
      operationId: hubGet
      summary: TM Forum Retrieve a Subscription (hub)
      description: This operation retrieves the subscription to receive Events.
      tags:
      - events subscription
      parameters:
      - $ref: '#/components/parameters/Id'
      responses:
        '200':
          $ref: '#/components/responses/Hub'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: hubDelete
      summary: TM Forum Remove a Subscription (hub) to Receive Events
      description: This operation removes the subscription to receive Events.
      tags:
      - events subscription
      parameters:
      - $ref: '#/components/parameters/Id'
      responses:
        '204':
          description: Deleted
        default:
          $ref: '#/components/responses/Error'
  /listener/troubleTicketAttributeValueChangeEvent:
    post:
      tags:
      - notification listener
      summary: TM Forum Client Listener for Entity TroubleTicketAttributeValueChangeEvent
      description: >-
        Example of a client listener for receiving the notification
        TroubleTicketAttributeValueChangeEvent
      operationId: troubleTicketAttributeValueChangeEvent
      requestBody:
        $ref: '#/components/requestBodies/TroubleTicketAttributeValueChangeEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/troubleTicketCreateEvent:
    post:
      tags:
      - notification listener
      summary: TM Forum Client Listener for Entity TroubleTicketCreateEvent
      description: Example of a client listener for receiving the notification TroubleTicketCreateEvent
      operationId: troubleTicketCreateEvent
      requestBody:
        $ref: '#/components/requestBodies/TroubleTicketCreateEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/troubleTicketDeleteEvent:
    post:
      tags:
      - notification listener
      summary: TM Forum Client Listener for Entity TroubleTicketDeleteEvent
      description: Example of a client listener for receiving the notification TroubleTicketDeleteEvent
      operationId: troubleTicketDeleteEvent
      requestBody:
        $ref: '#/components/requestBodies/TroubleTicketDeleteEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/troubleTicketInformationRequiredEvent:
    post:
      tags:
      - notification listener
      summary: TM Forum Client Listener for Entity TroubleTicketInformationRequiredEvent
      description: >-
        Example of a client listener for receiving the notification
        TroubleTicketInformationRequiredEvent
      operationId: troubleTicketInformationRequiredEvent
      requestBody:
        $ref: '#/components/requestBodies/TroubleTicketInformationRequiredEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/troubleTicketResolvedEvent:
    post:
      tags:
      - notification listener
      summary: TM Forum Client Listener for Entity TroubleTicketResolvedEvent
      description: Example of a client listener for receiving the notification TroubleTicketResolvedEvent
      operationId: troubleTicketResolvedEvent
      requestBody:
        $ref: '#/components/requestBodies/TroubleTicketResolvedEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/troubleTicketSpecificationAttributeValueChangeEvent:
    post:
      tags:
      - notification listener
      summary: TM Forum Client Listener for Entity TroubleTicketSpecificationAttributeValueChangeEvent
      description: >-
        Example of a client listener for receiving the notification
        TroubleTicketSpecificationAttributeValueChangeEvent
      operationId: troubleTicketSpecificationAttributeValueChangeEvent
      requestBody:
        $ref: '#/components/requestBodies/TroubleTicketSpecificationAttributeValueChangeEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/troubleTicketSpecificationCreateEvent:
    post:
      tags:
      - notification listener
      summary: TM Forum Client Listener for Entity TroubleTicketSpecificationCreateEvent
      description: >-
        Example of a client listener for receiving the notification
        TroubleTicketSpecificationCreateEvent
      operationId: troubleTicketSpecificationCreateEvent
      requestBody:
        $ref: '#/components/requestBodies/TroubleTicketSpecificationCreateEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/troubleTicketSpecificationDeleteEvent:
    post:
      tags:
      - notification listener
      summary: TM Forum Client Listener for Entity TroubleTicketSpecificationDeleteEvent
      description: >-
        Example of a client listener for receiving the notification
        TroubleTicketSpecificationDeleteEvent
      operationId: troubleTicketSpecificationDeleteEvent
      requestBody:
        $ref: '#/components/requestBodies/TroubleTicketSpecificationDeleteEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/troubleTicketSpecificationStatusChangeEvent:
    post:
      tags:
      - notification listener
      summary: TM Forum Client Listener for Entity TroubleTicketSpecificationStatusChangeEvent
      description: >-
        Example of a client listener for receiving the notification
        TroubleTicketSpecificationStatusChangeEvent
      operationId: troubleTicketSpecificationStatusChangeEvent
      requestBody:
        $ref: '#/components/requestBodies/TroubleTicketSpecificationStatusChangeEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /listener/troubleTicketStatusChangeEvent:
    post:
      tags:
      - notification listener
      summary: TM Forum Client Listener for Entity TroubleTicketStatusChangeEvent
      description: Example of a client listener for receiving the notification TroubleTicketStatusChangeEvent
      operationId: troubleTicketStatusChangeEvent
      requestBody:
        $ref: '#/components/requestBodies/TroubleTicketStatusChangeEvent'
      responses:
        '204':
          description: Notified
        default:
          $ref: '#/components/responses/Error'
  /troubleTicket:
    get:
      tags:
      - troubleTicket
      summary: TM Forum List or Find TroubleTicket Objects
      description: List or find TroubleTicket objects
      operationId: listTroubleTicket
      parameters:
      - $ref: '#/components/parameters/Fields'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Before'
      - $ref: '#/components/parameters/After'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Filter'
      responses:
        '200':
          $ref: '#/components/responses/200TroubleTicketArray'
        '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:
      - troubleTicket
      summary: TM Forum Creates a TroubleTicket
      description: This operation creates a TroubleTicket entity.
      operationId: createTroubleTicket
      parameters:
      - $ref: '#/components/parameters/Fields'
      requestBody:
        $ref: '#/components/requestBodies/TroubleTicket_FVO'
      responses:
        '201':
          $ref: '#/components/responses/201TroubleTicket'
        '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'
  '/troubleTicket/{id}':
    get:
      tags:
      - troubleTicket
      summary: TM Forum Retrieves a TroubleTicket by ID
      description: >-
        This operation retrieves a TroubleTicket entity. Attribute selection enabled for all first
        level attributes.
      operationId: retrieveTroubleTicket
      parameters:
      - $ref: '#/components/parameters/Id'
      - $ref: '#/components/parameters/Fields'
      responses:
        '200':
          $ref: '#/components/responses/200TroubleTicket_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:
      - troubleTicket
      summary: TM Forum Updates Partially a TroubleTicket
      description: This operation updates partially a TroubleTicket entity.
      operationId: patchTroubleTicket
      parameters:
      - $ref: '#/components/parameters/Id'
      - $ref: '#/components/parameters/Fields'
      requestBody:
        $ref: '#/components/requestBodies/TroubleTicket_MVO'
      responses:
        '200':
          $ref: '#/components/responses/200TroubleTicket_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:
      - troubleTicket
      summary: TM Forum Deletes a TroubleTicket
      description: This operation deletes a TroubleTicket entity.
      operationId: deleteTroubleTicket
      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'
  /troubleTicketSpecification:
    get:
      tags:
      - troubleTicketSpecification
      summary: TM Forum List or Find TroubleTicketSpecification Objects
      description: List or find TroubleTicketSpecification objects
      operationId: listTroubleTicketSpecification
      parameters:
      - $ref: '#/components/parameters/Fields'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Before'
      - $ref: '#/components/parameters/After'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Filter'
      responses:
        '200':
          $ref: '#/components/responses/200TroubleTicketSpecificationArray'
        '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:
      - troubleTicketSpecification
      summary: TM Forum Creates a TroubleTicketSpecification
      description: This operation creates a TroubleTicketSpecification entity.
      operationId: createTroubleTicketSpecification
      parameters:
      - $ref: '#/components/parameters/Fields'
      requestBody:
        $ref: '#/components/requestBodies/TroubleTicketSpecification_FVO'
      responses:
        '201':
          $ref: '#/components/responses/201TroubleTicketSpecification'
        '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'
  '/troubleTicketSpecification/{id}':
    get:
      tags:
      - troubleTicketSpecification
      summary: TM Forum Retrieves a TroubleTicketSpecification by ID
      description: >-
        This operation retrieves a TroubleTicketSpecification entity. Attribute selection enabled
        for all first level attributes.
      operationId: retrieveTroubleTicketSpecification
      parameters:
      - $ref: '#/components/parameters/Id'
      - $ref: '#/components/parameters/Fields'
      responses:
        '200':
          $ref: '#/components/responses/200TroubleTicketSpecification_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:
      - troubleTicketSpecification
      summary: TM Forum Updates Partially a TroubleTicketSpecification
      description: This operation updates partially a TroubleTicketSpecification entity.
      operationId: patchTroubleTicketSpecification
      parameters:
      - $ref: '#/components/parameters/Id'
      - $ref: '#/components/parameters/Fields'
      requestBody:
        $ref: '#/components/requestBodies/TroubleTicketSpecification_MVO'
      responses:
        '200':
          $ref: '#/components/responses/200TroubleTicketSpecification_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:
      - troubleTicketSpecification
      summary: TM Forum Deletes a TroubleTicketSpecification
      description: This operation deletes a TroubleTicketSpecification entity.
      operationId: deleteTroubleTicketSpecification
      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:
    Addressable:
      type: object
      description: Base schema for addressable entities
      properties:
        href:
          type: string
          description: Hyperlink reference
        id:
          type: string
          description: unique identifier
    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: 'https://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'
    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'
    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'
    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'
    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'
    AttachmentRef_FVO:
      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_FVO'
    AttachmentRef_MVO:
      allOf:
      - $ref: '#/components/schemas/EntityRef_MVO'
      - 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'
    Attachment_FVO:
      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: 'https://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'
    Attachment_MVO:
      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: 'https://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'
    BaseEvent:
      allOf:
      - $ref: '#/components/schemas/Entity'
      - type: object
        description: Base event with common attributes.
        properties:
          event:
            type: object
            description: The event linked to the involved resource object
          eventId:
            type: string
            description: The identifier of the notification.
          eventTime:
            type: string
            format: date-time
            description: Time of the event occurrence.
          eventType:
            type: string
            description: The type of the notification.
          correlationId:
            type: string
            description: The correlation id for this event.
          domain:
            type: string
            description: The domain of the event.
          title:
            type: string
            description: The title of the event.
          description:
            type: string
            description: An explanatory of the event.
          priority:
            type: string
            description: A priority.
          timeOcurred:
            type: string
            format: date-time
            description: The time the event occurred.
      discriminator:
        propertyName: '@type'
        mapping:
          BaseEvent: '#/components/schemas/BaseEvent'
    BooleanArrayCharacteristic:
      allOf:
      - $ref: '#/components/schemas/Characteristic'
      - type: object
        description: A characteristic which value is an array of Boolean(s).
        properties:
          value:
            type: array
            description: A characteristic which value is an array of Boolean(s).
            items:
              type: boolean
              description: Characteristic item boolean value
    BooleanArrayCharacteristicValueSpecification:
      allOf:
      - $ref: '#/components/schemas/CharacteristicValueSpecification'
      - type: object
        description: A specification for a characteristic for which the value is an array booleans
        properties:
          value:
            type: array
            items:
              type: boolean
              description: Characteristic specification item boolean value
    BooleanArrayCharacteristicValueSpecification_FVO:
      allOf:
      - $ref: '#/components/schemas/CharacteristicValueSpecification_FVO'
      - type: object
        description: A specification for a characteristic for which the value is an array booleans
        properties:
          value:
            type: array
            items:
              type: boolean
              description: Characteristic specification item boolean value
    BooleanArrayCharacteristicValueSpecification_MVO:
      allOf:
      - $ref: '

# --- truncated at 32 KB (274 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tm-forum/refs/heads/main/openapi/tm-forum-tmf621-trouble-ticket-openapi.yaml