MEF

MEF LSO Sonata Trouble Ticket and Incident Management

Trouble Ticket and Incident Management — the OpenAPI definition published by Mplify (formerly MEF) in the MEF LSO Sonata SDK, Kylie release. LSO Sonata is the Interface Reference Point between two Service Providers (Buyer and Seller), covering inter-provider business/product automation. 9 path(s), 12 operation(s). Apache-2.0 licensed and openly downloadable from public GitHub.

OpenAPI Specification

mef-lso-sonata-trouble-ticket-management-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Trouble Ticket and Incident Management
  description: |
    **This file forms part of Mplify 124.1**

    This API implements Business Requirements described in MEF 113

    It allows the Buyer to create, retrieve, and update Trouble Tickets as well
    as receive notifications about Incidents' and Trouble Tickets' updates.
    This allows managing issues and situations that are not part of normal
    operations of the Product provided by the Seller.

    List of supported use cases:
    - Create Ticket
    - Retrieve Ticket List
    - Retrieve Ticket by Ticket Identifier
    - Patch Ticket by Ticket Identifier
    - Cancel Ticket by Ticket Identifier
    - Ticket Resolution Confirmation
    - Retrieve Incident List
    - Retrieve Incident by Incident Identifier
    - Register for Event Notifications

    Copyright 2025 Mplify Alliance and its contributors.

    This file includes content based on the TM Forum Trouble Ticket API (TMF621
    v4.0.0) available at https://github.com/tmforum-apis/TMF621_TroubleTicket,
    which is licensed by the TM Forum under the Apache License version 2.0.
    Such content has been modified by the Mplify Alliance and its contributors.
  version: 5.0.0
servers:
  - url: 'https://{serverBase}/mefApi/sonata/troubleTicket/v5/'
    variables:
      serverBase:
        description: The base of Seller's URL.
        default: mplify.net
tags:
  - name: troubleTicket
  - name: troubleTicket operations
  - name: incident
  - name: events subscription
paths:
  /troubleTicket:
    get:
      tags:
        - troubleTicket
      summary: List or found Trouble Ticket objects
      description: >
        The Buyer requests a list of Trouble Tickets from the Seller based on a
        set of specified filter criteria. The Seller returns a summarized list
        of Trouble Tickets.
      operationId: listTroubleTicket
      parameters:
        - name: externalId
          in: query
          description: >-
            ID given by the consumer and only understandable by him (to
            facilitate his searches afterward)
          required: false
          schema:
            type: string
        - name: priority
          in: query
          description: >-
            The priority (ITIL) is based on the assessment of the impact and
            urgency of how quickly the Ticket should be resolved as evaluated by
            the Buyer. The Priority is used by the Seller to determine the order
            in which Tickets get resolved across Buyers.
          required: false
          schema:
            $ref: '#/components/schemas/TroubleTicketPriorityType'
        - name: sellerPriority
          in: query
          description: >-
            The priority (ITIL) is based on the assessment of the impact and
            urgency of how quickly the Ticket should be resolved after
            evaluation by the Seller of the impact of the Issue on the Buyer.
          required: false
          schema:
            $ref: '#/components/schemas/TroubleTicketPriorityType'
        - name: severity
          in: query
          description: >-
            The severity or impact (ITIL) of the Ticket as evaluated by the
            Buyer.
          required: false
          schema:
            $ref: '#/components/schemas/TroubleTicketSeverityType'
        - name: sellerSeverity
          in: query
          description: >-
            The severity or impact (ITIL) of the Ticket on the Buyer as
            evaluated by the Seller.
          required: false
          schema:
            $ref: '#/components/schemas/TroubleTicketSeverityType'
        - name: ticketType
          in: query
          description:
            The presumed cause of the Trouble Ticket as evaluated by the Buyer.
          required: false
          schema:
            $ref: '#/components/schemas/TroubleTicketType'
        - name: status
          in: query
          description: The current status of the Trouble Ticket
          required: false
          schema:
            $ref: '#/components/schemas/TroubleTicketStatusType'
        - name: observedImpact
          in: query
          description: The type of impact observed by the Buyer.
          required: false
          schema:
            $ref: '#/components/schemas/MEFObservedImpactType'
        - name: relatedEntityId
          in: query
          description: >-
            ID of a related entity that this ticket is related to and is present
            in the `relatedEntity` list
          required: false
          schema:
            type: string
        - name: relatedEntityType
          in: query
          description: >-
            Type of a related entity that this ticket is related to and is
            present in the `relatedEntity` list
          required: false
          schema:
            type: string
            default: Product
        - name: creationDate.gt
          in: query
          description:
            The date on which the Trouble Ticket was created - greater than
          required: false
          schema:
            type: string
            format: date-time
        - name: creationDate.lt
          in: query
          description:
            The date on which the Trouble Ticket was created - lower than
          required: false
          schema:
            type: string
            format: date-time
        - name: expectedResolutionDate.gt
          in: query
          description: >-
            The date provided by the Seller to indicate when the Ticket is
            expected to be resolved - greater than
          required: false
          schema:
            type: string
            format: date-time
        - name: expectedResolutionDate.lt
          in: query
          description: >-
            The date provided by the Seller to indicate when the Ticket is
            expected to be resolved - lower than
          required: false
          schema:
            type: string
            format: date-time
        - name: resolutionDate.gt
          in: query
          description: >-
            The date the Ticket status was set to resolved by the Seller -
            greater than
          required: false
          schema:
            type: string
            format: date-time
        - name: resolutionDate.lt
          in: query
          description: >-
            The date the Ticket status was set to resolved by the Seller - lower
            than
          required: false
          schema:
            type: string
            format: date-time
        - name: buyerId
          in: query
          description: >-
            The unique identifier of the organization that is acting as the a
            Buyer. MUST be specified in the request only when the requester
            represents more than one Buyer.
          required: false
          schema:
            type: string
        - name: sellerId
          in: query
          description: >-
            The unique identifier of the organization that is acting as the
            Seller. MUST be specified in the request only when responding entity
            represents more than one Seller.
          required: false
          schema:
            type: string
        - name: offset
          in: query
          description:
            Requested index for start of resources to be provided in response
          required: false
          schema:
            type: integer
        - name: limit
          in: query
          description: Requested number of resources to be provided in response
          required: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: 'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'
          headers:
            X-Pagination-Throttled:
              description: >
                Used to indicate that result page was throttled to maximum
                possible size  and there are additional results that can be
                fetched
              schema:
                type: boolean
            X-Total-Count:
              description: >
                The total number of matching records. E.g. if there are 50
                matching records in total, but the request has offset=10 and
                limit=10, then the X-Total-Count is 50.
              schema:
                type: integer
            X-Result-Count:
              description: The number of records included in the response
              schema:
                type: integer
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TroubleTicket_Find'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '422':
          description: Unprocessable entity due to business validation problems
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Error422'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
    post:
      tags:
        - troubleTicket
      summary: Creates a TroubleTicket
      description: >-
        A request initiated by the Buyer to create a Ticket in the Seller's
        system to report an Issue experienced by the Buyer
      operationId: createTroubleTicket
      parameters:
        - name: buyerId
          in: query
          description: >-
            The unique identifier of the organization that is acting as the a
            Buyer. MUST be specified in the request only when the requester
            represents more than one Buyer.
          required: false
          schema:
            type: string
        - name: sellerId
          in: query
          description: >-
            The unique identifier of the organization that is acting as the
            Seller. MUST be specified in the request only when responding entity
            represents more than one Seller.
          required: false
          schema:
            type: string
      requestBody:
        description: The TroubleTicket to be created
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/TroubleTicket_Create'
        required: true
      responses:
        '201':
          description:
            'Created  (https://tools.ietf.org/html/rfc7231#section-6.3.2)'
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/TroubleTicket'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '422':
          description:
            Unprocessable entity due to the business validation problems
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Error422'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
  '/troubleTicket/{id}':
    get:
      tags:
        - troubleTicket
      summary: Retrieves a TroubleTicket by ID
      description: >-
        The Buyer requests detailed information about a single Ticket based on a
        Ticket Identifier.
      operationId: retrieveTroubleTicket
      parameters:
        - name: id
          in: path
          description: Identifier of the TroubleTicket
          required: true
          schema:
            type: string
        - name: buyerId
          in: query
          description: >-
            The unique identifier of the organization that is acting as the a
            Buyer. MUST be specified in the request only when the requester
            represents more than one Buyer.
          required: false
          schema:
            type: string
        - name: sellerId
          in: query
          description: >-
            The unique identifier of the organization that is acting as the
            Seller. MUST be specified in the request only when responding entity
            represents more than one Seller.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: 'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/TroubleTicket'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
    patch:
      tags:
        - troubleTicket
      summary: Updates partially a TroubleTicket
      description: >-
        A request by the Buyer to patch a Ticket created by the Buyer in the
        Seller's system.
      operationId: patchTroubleTicket
      parameters:
        - name: id
          in: path
          description: Identifier of the TroubleTicket
          required: true
          schema:
            type: string
        - name: buyerId
          in: query
          description: >-
            The unique identifier of the organization that is acting as the a
            Buyer. MUST be specified in the request only when the requester
            represents more than one Buyer.
          required: false
          schema:
            type: string
        - name: sellerId
          in: query
          description: >-
            The unique identifier of the organization that is acting as the
            Seller. MUST be specified in the request only when responding entity
            represents more than one Seller.
          required: false
          schema:
            type: string
      requestBody:
        description: The TroubleTicket to be updated
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/TroubleTicket_Update'
        required: true
      responses:
        '200':
          description: Updated
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/TroubleTicket'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error404'
        '409':
          description: Conflict
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error409'
        '422':
          description:
            Unprocessable entity due to the business validation problems
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Error422'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
  '/troubleTicket/{id}/cancel':
    post:
      tags:
        - troubleTicket operations
      summary: Cancels a Trouble Ticket
      description: This operation sends a cancellation request.
      operationId: cancelTroubleTicket
      parameters:
        - name: id
          in: path
          description: Identifier of the TroubleTicket
          required: true
          schema:
            type: string
        - name: buyerId
          in: query
          description: >-
            The unique identifier of the organization that is acting as the a
            Buyer. MUST be specified in the request only when the requester
            represents more than one Buyer.
          required: false
          schema:
            type: string
        - name: sellerId
          in: query
          description: >-
            The unique identifier of the organization that is acting as the
            Seller. MUST be specified in the request only when responding entity
             represents more than one Seller.
          required: false
          schema:
            type: string
      responses:
        '204':
          description: Cancelled
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error404'
        '422':
          description:
            Unprocessable entity due to the business validation problems
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Error422'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
  '/troubleTicket/{id}/close':
    post:
      tags:
        - troubleTicket operations
      summary: Closes a Trouble Ticket
      description: >-
        This operation allows the Buyer to send Ticket Resolution Confirmation
        by closing it
      operationId: closeTroubleTicket
      parameters:
        - name: id
          in: path
          description: Identifier of the TroubleTicket
          required: true
          schema:
            type: string
        - name: buyerId
          in: query
          description: >-
            The unique identifier of the organization that is acting as the a
            Buyer. MUST be specified in the request only when the requester
            represents more than one Buyer.
          required: false
          schema:
            type: string
        - name: sellerId
          in: query
          description: >-
            The unique identifier of the organization that is acting as the
            Seller. MUST be specified in the request only when responding entity
             represents more than one Seller.
          required: false
          schema:
            type: string
      responses:
        '204':
          description: Closed
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error404'
        '422':
          description:
            Unprocessable entity due to the business validation problems
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Error422'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
  '/troubleTicket/{id}/reopen':
    post:
      tags:
        - troubleTicket operations
      summary: Reopens a Trouble Ticket
      description: >-
        The operation allows the Buyer to send Ticket Resolution Confirmation by
        reopening it
      operationId: reopenTroubleTicket
      parameters:
        - name: id
          in: path
          description: Identifier of the TroubleTicket
          required: true
          schema:
            type: string
        - name: buyerId
          in: query
          description: >-
            The unique identifier of the organization that is acting as the a
            Buyer. MUST be specified in the request only when the requester
            represents more than one Buyer.
          required: false
          schema:
            type: string
        - name: sellerId
          in: query
          description: >-
            The unique identifier of the organization that is acting as the
            Seller. MUST be specified in the request only when responding entity
             represents more than one Seller.
          required: false
          schema:
            type: string
      requestBody:
        description: >-
          Unstructured comment describing the reason the Buyer doesn't agree on
          the resolution and needs the Trouble Ticket to be reopened. If the
          Buyer wants this Closure Rejection Reason to be included in the
          Trouble Ticket Notes for historical reasons, the Buyer needs to patch
          the Trouble Ticket.
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/Reason'
        required: true
      responses:
        '204':
          description: Reopened
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error404'
        '422':
          description:
            Unprocessable entity due to the business validation problems
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Error422'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
  /incident:
    get:
      tags:
        - incident
      summary: List or found Incident objects
      description: >
        The Buyer requests a list of Incidents from the Seller based on a set of
        specified filter criteria. The Seller returns a summarized list of
        Incidents.
      operationId: listIncident
      parameters:
        - name: priority
          in: query
          description: >-
            The priority (ITIL) is based on the assessment of the impact and
            urgency of how quickly the Incident should be resolved after
            evaluation by the Seller of the impact of the Incident.
          required: false
          schema:
            $ref: '#/components/schemas/TroubleTicketPriorityType'
        - name: severity
          in: query
          description: >-
            The severity or impact (ITIL) of the Incident as evaluated by the
            Seller.
          required: false
          schema:
            $ref: '#/components/schemas/TroubleTicketSeverityType'
        - name: impact
          in: query
          description: The type of impact observed by the Buyer.
          required: false
          schema:
            $ref: '#/components/schemas/MEFObservedImpactType'
        - name: incidentType
          in: query
          description:
            The presumed cause of the Incident as evaluated by the Seller.
          required: false
          schema:
            $ref: '#/components/schemas/IncidentType'
        - name: status
          in: query
          description: The current status of the Incident
          required: false
          schema:
            $ref: '#/components/schemas/IncidentStatusType'
        - name: relatedEntityId
          in: query
          description: >-
            ID of a related entity that this Incident is related to and is
            present in the `relatedEntity` list
          required: false
          schema:
            type: string
        - name: relatedEntityType
          in: query
          description: >-
            Type of a related entity that this Incident is related to and is
            present in the `relatedEntity` list
          required: false
          schema:
            type: string
            default: Product
        - name: creationDate.gt
          in: query
          description: The date on which the Incident was created - greater than
          required: false
          schema:
            type: string
            format: date-time
        - name: creationDate.lt
          in: query
          description:
            The date on which the Trouble Ticket was created - lower than
          required: false
          schema:
            type: string
            format: date-time
        - name: situationStartDate.gt
          in: query
          description: >-
            The date when the Incident was first identified, for example via
            error logs - greater than
          required: false
          schema:
            type: string
            format: date-time
        - name: situationStartDate.lt
          in: query
          description: >-
            The date when the Incident was first identified, for example via
            error logs - lower than
          required: false
          schema:
            type: string
            format: date-time
        - name: expectedClosedDate.gt
          in: query
          description: >-
            The date provided by the Seller to indicate when the Incident is
            expected to be closed - greater than
          required: false
          schema:
            type: string
            format: date-time
        - name: expectedClosedDate.lt
          in: query
          description: >-
            The date provided by the Seller to indicate when the Incident is
            expected to be closed - lower than
          required: false
          schema:
            type: string
            format: date-time
        - name: closedDate.gt
          in: query
          description: >-
            The date the Incident status was set to closed by the Seller -
            greater than
          required: false
          schema:
            type: string
            format: date-time
        - name: closedDate.lt
          in: query
          description: >-
            The date the Incident status was set to closed by the Seller - lower
            than
          required: false
          schema:
            type: string
            format: date-time
        - name: buyerId
          in: query
          description: >-
            The unique identifier of the organization that is acting as the a
            Buyer. MUST be specified in the request only when the requester
            represents more than one Buyer.
          required: false
          schema:
            type: string
        - name: sellerId
          in: query
          description: >-
            The unique identifier of the organization that is acting as the
            Seller. MUST be specified in the request only when responding entity
            represents more than one Seller.
          required: false
          schema:
            type: string
        - name: offset
          in: query
          description:
            Requested index for start of resources to be provided in response
          required: false
          schema:
            type: integer
        - name: limit
          in: query
          description: Requested number of resources to be provided in response
          required: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: 'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'
          headers:
            X-Pagination-Throttled:
              description: >
                Used to indicate that result page was throttled to maximum
                possible size  and there are additional results that can be
                fetched
              schema:
                type: boolean
            X-Total-Count:
              description: >
                The total number of matching records. E.g. if there are 50
                matching records in total, but the request has offset=10 and
                limit=10, then the X-Total-Count is 50.
              schema:
                type: integer
            X-Result-Count:
              description: The number of records included in the response
              schema:
                type: integer
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Incident_Find'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
    

# --- truncated at 32 KB (98 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mef/refs/heads/main/openapi/mef-lso-sonata-trouble-ticket-management-openapi.yml