MEF Trouble Ticket and Incident Management (Mef Lso Sonata Trouble Ticket Management)
MEF Trouble Ticket and Incident Management from MEF — 9 path(s) described in OpenAPI.
MEF Trouble Ticket and Incident Management from MEF — 9 path(s) described in OpenAPI.
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