TM Forum troubleTicket API

Operations for TroubleTicket Resource

Operations 5

GET /troubleTicket TM Forum List or Find TroubleTicket Objects #
POST /troubleTicket TM Forum Creates a TroubleTicket #
GET /troubleTicket/{id} TM Forum Retrieves a TroubleTicket by ID #
PATCH /troubleTicket/{id} TM Forum Updates Partially a TroubleTicket #
DELETE /troubleTicket/{id} TM Forum Deletes a TroubleTicket #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tm-forum-troubleticket-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tm-forum-troubleticket-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Trouble Ticket API
  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
paths:
  /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'
components:
  schemas:
    PartyRoleRef_MVO:
      allOf:
      - $ref: '#/components/schemas/EntityRef_MVO'
      - 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'
    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'
    Entity:
      type: object
      description: Base entity schema for use in TMForum Open-APIs. Property.
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - $ref: '#/components/schemas/Addressable'
    StatusChange:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: Holds the status, reasons and associated date the status changed, populated by the server
        properties:
          statusChangeDate:
            type: string
            format: date-time
            description: The date and time the status changed.
          statusChangeReason:
            type: string
            description: The reason why the status changed.
          status:
            $ref: '#/components/schemas/TroubleTicketStatusType'
      discriminator:
        propertyName: '@type'
        mapping:
          StatusChange: '#/components/schemas/StatusChange'
    PartyRef:
      type: object
      description: A Party reference
      allOf:
      - $ref: '#/components/schemas/EntityRef'
      discriminator:
        propertyName: '@type'
        mapping:
          PartyRef: '#/components/schemas/PartyRef'
    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'
    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'
    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'
    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'
    RelatedEntity_FVO:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: A reference to an entity, where the type of the entity is not known in advance.
        properties:
          role:
            type: string
          entity:
            $ref: '#/components/schemas/EntityRef'
        required:
        - role
        - entity
      discriminator:
        propertyName: '@type'
        mapping:
          RelatedEntity: '#/components/schemas/RelatedEntity_FVO'
    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.
    Characteristic:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: 'Describes a given characteristic of an object or entity through a name/value pair. This is an abstract base class, the actual value is in one of the strongly-typed subclasses : StringCharacteristic, ObjectCharacteristic, FloatCharacteristic, BooleanCharacteristic, NumberCharacteristic, IntegerCharacteristic, StringArrayCharacteristic, ObjectArrayCharacteristic, BooleanArrayCharacteristic, NumberArrayCharacteristic, IntegerArrayCharacteristic...'
        properties:
          id:
            type: string
            description: Unique identifier of the characteristic
          name:
            type: string
            description: Name of the characteristic
          valueType:
            type: string
            description: Data type of the value of the characteristic
          characteristicRelationship:
            type: array
            description: Collection of characteristic relationships
            items:
              $ref: '#/components/schemas/CharacteristicRelationship'
      discriminator:
        propertyName: '@type'
        mapping:
          BooleanArrayCharacteristic: '#/components/schemas/BooleanArrayCharacteristic'
          BooleanCharacteristic: '#/components/schemas/BooleanCharacteristic'
          Characteristic: '#/components/schemas/Characteristic'
          FloatCharacteristic: '#/components/schemas/FloatCharacteristic'
          IntegerArrayCharacteristic: '#/components/schemas/IntegerArrayCharacteristic'
          IntegerCharacteristic: '#/components/schemas/IntegerCharacteristic'
          NumberArrayCharacteristic: '#/components/schemas/NumberArrayCharacteristic'
          NumberCharacteristic: '#/components/schemas/NumberCharacteristic'
          ObjectArrayCharacteristic: '#/components/schemas/ObjectArrayCharacteristic'
          ObjectCharacteristic: '#/components/schemas/ObjectCharacteristic'
          StringArrayCharacteristic: '#/components/schemas/StringArrayCharacteristic'
          StringCharacteristic: '#/components/schemas/StringCharacteristic'
    ChannelRef_FVO:
      type: object
      description: The channel to which the resource reference to. e.g. channel for selling product offerings, channel for opening a trouble ticket etc..
      allOf:
      - $ref: '#/components/schemas/EntityRef'
      discriminator:
        propertyName: '@type'
        mapping:
          ChannelRef: '#/components/schemas/ChannelRef_FVO'
    Note_MVO:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: Extra information about a given entity
        properties:
          id:
            type: string
            description: Identifier of the note within its containing entity
            example: afa9-3d90aaa8da0f
          author:
            type: string
            description: Author of the note
            example: Mr. N. Bene
          date:
            type: string
            format: date-time
            description: Date of the note
            example: '2020-11-20T08:00:00Z'
          text:
            type: string
            description: Text of the note
            example: This is important
      discriminator:
        propertyName: '@type'
        mapping:
          Note: '#/components/schemas/Note_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'
    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'
    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)
    PartyRoleRef_FVO:
      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_FVO'
    Note_FVO:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: Extra information about a given entity
        properties:
          id:
            type: string
            description: Identifier of the note within its containing entity
            example: afa9-3d90aaa8da0f
          author:
            type: string
            description: Author of the note
            example: Mr. N. Bene
          date:
            type: string
            format: date-time
            description: Date of the note
            example: '2020-11-20T08:00:00Z'
          text:
            type: string
            description: Text of the note
            example: This is important
      discriminator:
        propertyName: '@type'
        mapping:
          Note: '#/components/schemas/Note_FVO'
    Note:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: Extra information about a given entity
        properties:
          id:
            type: string
            description: Identifier of the note within its containing entity
            example: afa9-3d90aaa8da0f
          author:
            type: string
            description: Author of the note
            example: Mr. N. Bene
          date:
            type: string
            format: date-time
            description: Date of the note
            example: '2020-11-20T08:00:00Z'
          text:
            type: string
            description: Text of the note
            example: This is important
      discriminator:
        propertyName: '@type'
        mapping:
          Note: '#/components/schemas/Note'
    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'
    RelatedPartyRefOrPartyRoleRef_FVO:
      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_FVO'
        required:
        - role
      discriminator:
        propertyName: '@type'
        mapping:
          RelatedPartyRefOrPartyRoleRef: '#/components/schemas/RelatedPartyRefOrPartyRoleRef_FVO'
    TroubleTicket_RES:
      type: object
      description: Response object for TroubleTicket
      allOf:
      - $ref: '#/components/schemas/TroubleTicket'
      required:
      - id
      - href
      discriminator:
        propertyName: '@type'
        mapping:
          TroubleTicket: '#/components/schemas/TroubleTicket'
    RelatedEntity:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: A reference to an entity, where the type of the entity is not known in advance.
        properties:
          role:
            type: string
          entity:
            $ref: '#/components/schemas/EntityRef'
      discriminator:
        propertyName: '@type'
        mapping:
          RelatedEntity: '#/components/schemas/RelatedEntity'
    TroubleTicket:
      allOf:
      - $ref: '#/components/schemas/Entity'
      - type: object
        description: A trouble ticket is a record of an issue that is created, tracked, and managed by a trouble ticket management system
        properties:
          name:
            type: string
            description: Name of the trouble ticket, typically a short description provided by the user that create the ticket
          description:
            type: string
            description: Description of the trouble or issue
          severity:
            type: string
            description: "The severity of the issue. Indicate the implication of the issue on the expected functionality e.g. of a system, application, service etc.. \nSeverity values can be for example : Critical, Major, Minor"
          ticketType:
            type: string
            description: Represent a business type of the trouble ticket e.g. incident, complain, request
          attachment:
            type: array
            items:
              $ref: '#/components/schemas/AttachmentRefOrValue'
            description: File(s) attached to the trouble ticket. e.g. picture of broken device, scanning of a bill or charge
          channel:
            $ref: '#/components/schemas/ChannelRef'
          creationDate:
            type: string
            format: date-time
            description: The date on which the trouble ticket was created
          requestedResolutionDate:
            type: string
            format: date-time
            description: The resolution date requested by the user
          expectedResolutionDate:
            type: string
            format: date-time
            description: The expected resolution date determined by the trouble ticket system
          resolutionDate:
            type: string
            format: date-time
            description: The date and time the trouble ticket was resolved
          externalIdentifier:
            type: array
            items:
              $ref: '#/components/schemas/ExternalIdentifier'
          lastUpdate:
            type: string
            format: date-time
            description: The date and time that the trouble ticket was last updated
          note:
            type: array
            items:
              $ref: '#/components/schemas/Note'
            description: The note(s) that are associated to the ticket.
          priority:
            type: string
            description: 'The priority of the trouble ticket and how quickly the issue should be resolved. Example: Critical, High, Medium, Low. The value is set by the ticket management system considering the severity, ticket type etc...'
          relatedEntity:
            type: array
            items:
              $ref: '#/components/schemas/RelatedEntity'
            description: An entity that is related to the ticket such as a bill, a product, etc. The entity against which the ticket is associated.
          relatedParty:
            type: array
            items:
              $ref: '#/components/schemas/RelatedPartyRefOrPartyRoleRef'
            description: The related party(ies) that are associated to the ticket.
          status:
            $ref: '#/components/schemas/TroubleTicketStatusType'
          statusChangeDate:
            type: string
            format: date-time
            description: The date and time the status changed.
          statusChangeReason:
            type: string
            description: The reason for changing the status
          statusChangeHistory:
            type: array
            items:
              $ref: '#/components/schemas/StatusChange'
            description: The status change history that are associated to the ticket. Populated by the server
          troubleTicketRelationship:
            type: array
            items:
              $ref: '#/components/schemas/TroubleTicketRelationship'
            description: A list of trouble ticket relationships (TroubleTicketRelationship [*]). Represents a relationship between trouble tickets
          troubleTicketSpecification:
            $ref: '#/components/schemas/TroubleTicketSpecificationRef'
          troubleTicketCharacteristic:
            type: array
            items:
              $ref: '#/components/schemas/Characteristic'
            description: List of characteristics of the trouble ticket
      discriminator:
        propertyName: '@type'
        mapping:
          TroubleTicket: '#/components/schemas/TroubleTicket'
    CharacteristicRelationship_MVO:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: Another Characteristic that is related to the current Characteristic;
        properties:
          id:
            type: string
            description: Unique identifier of the characteristic
          relationshipType:
            type: string
            description: The type of relationship
      discriminator:
        propertyName: '@type'
        mapping:
          CharacteristicRelationship: '#/components/schemas/CharacteristicRelationship_MVO'
    CharacteristicRelationship_FVO:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: Another Characteristic that is related to the current Characteristic;
        properties:
          id:
            type: string
            description: Unique identifier of the characteristic
          relationshipType:
            type: string
            description: The type of relationship
        required:
        - id
        - relationshipType
      discriminator:
        propertyName: '@type'
        mapping:
          CharacteristicRelationship: '#/components/schemas/CharacteristicRelationship_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'
    PartyRef_MVO:
      type: object
      description: A Party reference
      allOf:
      - $ref: '#/components/schemas/EntityRef_MVO'
      discriminator:
        propertyName: '@type'
        mapping:
          PartyRef: '#/components/schemas/PartyRef_MVO'
    TroubleTicketSpecificationRef_FVO:
      allOf:
      - $ref: '#/components/schemas/EntityRef'
      - type: object
        description: reference to an TroubleTicketSpecification object
        properties:
          version:
            type: string
            description: The version of the trouble ticket sp

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