Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Trouble Ticket API
description: "**TMF API Reference : TMF - 621 Trouble Ticket**\n\n**Release : 19.0 - June 2019**\n\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).\n\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\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 -\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 Trouble Ticket API performs the following operations on trouble ticket -\tRetrieval of a trouble ticket or a collection of trouble ticket depending on filter criteria -\tPartial update of a trouble ticket -\tCreation of a trouble ticket -\tNotification of events on trouble ticket: o\tTrouble ticket state change o\tTrouble ticket change o\tTrouble ticket resoled o\tTrouble ticket created o\tTrouble ticket Information required\n\n\n\nCopyright © TM Forum 2019. All Rights Reserved\n\n\n"
version: 4.1.1
servers:
- url: https://serverRoot/tmf-api/troubleTicket/v4/
tags:
- name: troubleTicket
paths:
/troubleTicket:
get:
operationId: listTroubleTicket
summary: List or find TroubleTicket objects
description: This operation list or find TroubleTicket entities
tags:
- troubleTicket
parameters:
- in: query
name: fields
required: false
description: Comma-separated properties to be provided in response
schema:
type: string
- in: query
name: offset
required: false
description: Requested index for start of resources to be provided in response
schema:
type: integer
- in: query
name: limit
required: false
description: Requested number of resources to be provided in response
schema:
type: integer
- in: query
name: sort
required: false
description: To have the output sorted by fields. Can support one or many fields, as well as ascending and descending sort order
schema:
type: string
- in: query
name: expand
required: false
description: Lists the sub-entities to expand along with the depth value. Empty means expand all at depth level N
schema:
type: string
- in: query
name: depth
required: false
description: Depth level where objects are dereferenced and inserted as values into the response
schema:
type: string
responses:
'200':
description: Success
headers:
X-Result-Count:
description: Actual number of items returned in the response body
schema:
type: integer
X-Total-Count:
description: Total number of items matching criteria
schema:
type: integer
content:
application/json;charset=utf-8:
schema:
items:
$ref: '#/components/schemas/TroubleTicket'
type: array
'400':
description: Bad Request
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not allowed
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
post:
operationId: createTroubleTicket
summary: Creates a TroubleTicket
description: This operation creates a TroubleTicket entity.
tags:
- troubleTicket
responses:
'201':
description: Created
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/TroubleTicket'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not allowed
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Unprocessable Entity
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
requestBody:
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/TroubleTicket_Create'
description: The TroubleTicket to be created
required: true
/troubleTicket/{id}:
get:
operationId: retrieveTroubleTicket
summary: Retrieves a TroubleTicket by ID
description: This operation retrieves a TroubleTicket entity. Attribute selection is enabled for all first level attributes.
tags:
- troubleTicket
parameters:
- in: path
name: id
required: true
description: Identifier of the TroubleTicket
schema:
type: string
- in: query
name: fields
required: false
description: Comma-separated properties to be provided in response
schema:
type: string
- in: query
name: expand
required: false
description: Lists the sub-entities to expand along with the depth value. Empty means expand all at depth level N
schema:
type: string
- in: query
name: depth
required: false
description: Depth level where objects are dereferenced and inserted as values into the response
schema:
type: string
responses:
'200':
description: Success
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/Error'
'401':
description: Unauthorized
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not allowed
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
patch:
operationId: patchTroubleTicket
summary: Updates partially a TroubleTicket
description: This operation updates partially a TroubleTicket entity.
tags:
- troubleTicket
parameters:
- in: path
name: id
required: true
description: Identifier of the TroubleTicket
schema:
type: string
responses:
'200':
description: Updated
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/TroubleTicket'
'204':
description: No Content
'400':
description: Bad Request
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not allowed
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Unprocessable Entity
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
requestBody:
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/TroubleTicket_Update'
description: The TroubleTicket to be updated
required: true
delete:
operationId: deleteTroubleTicket
summary: Deletes a TroubleTicket
description: This operation deletes a TroubleTicket entity.
tags:
- troubleTicket
parameters:
- in: path
name: id
required: true
description: Identifier of the TroubleTicket
schema:
type: string
responses:
'204':
description: Deleted
'400':
description: Bad Request
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not allowed
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
AttachmentRefOrValue:
description: An attachment by value or by reference. For AttachmentRefOrValue, the attribute type,schemaLocation and referredType are related to the contained entity and not to AttchmentRefOrValue itself
allOf:
- $ref: '#/components/schemas/Entity'
- properties:
ref:
$ref: '#/components/schemas/AttachmentRef'
description: A reference to the Attachment.
value:
$ref: '#/components/schemas/Attachment'
description: The Attachment (as a value).
Error:
description: Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
allOf:
- $ref: '#/components/schemas/Entity'
- 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
format: uri
description: URI of documentation describing the error.
RelatedParty:
description: Related Entity reference. A related party defines party or party role linked to a specific entity.
allOf:
- $ref: '#/components/schemas/Entity'
- required:
- id
- '@referredType'
properties:
id:
type: string
description: Unique identifier of a related entity.
href:
type: string
description: Reference of the related entity.
name:
type: string
description: Name of the related entity.
role:
type: string
description: Role played by the related party
'@referredType':
type: string
description: The actual type of the target instance when needed for disambiguation.
TroubleTicket_Update:
description: 'A trouble ticket is a record of an issue that is created, tracked, and managed by a trouble ticket management system
Skipped properties: id,href,creationDate,lastUpdate,statusChange,statusChangeDate'
allOf:
- $ref: '#/components/schemas/Entity'
- properties:
description:
type: string
description: Description of the trouble or issue
expectedResolutionDate:
type: string
format: date-time
description: The expected resolution date determined by the trouble ticket system
externalId:
type: string
description: Additional identifier coming from an external system
name:
type: string
description: Name of the trouble ticket, typically a short description provided by the user that create 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...'
requestedResolutionDate:
type: string
format: date-time
description: The resolution date requested by the user
resolutionDate:
type: string
format: date-time
description: The date and time the trouble ticket was resolved
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"
statusChangeReason:
type: string
description: The reason for changing the status
ticketType:
type: string
description: represent a business type of the trouble ticket e.g. incident, complain, request
attachment:
description: File(s) attached to the trouble ticket. e.g. pictur of broken device, scaning of a bill or charge
type: array
items:
$ref: '#/components/schemas/AttachmentRefOrValue'
channel:
$ref: '#/components/schemas/ChannelRef'
description: The channel that origin the trouble ticket
note:
description: The note(s) that are associated to the ticket.
type: array
items:
$ref: '#/components/schemas/Note'
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.
type: array
items:
$ref: '#/components/schemas/RelatedEntity'
relatedParty:
description: The related party(ies) that are associated to the ticket.
type: array
items:
$ref: '#/components/schemas/RelatedParty'
status:
$ref: '#/components/schemas/TroubleTicketStatusType'
description: The current status of the trouble ticket
troubleTicketRelationship:
description: A list of trouble ticket relationships (TroubleTicketRelationship [*]). Represents a relationship between trouble tickets
type: array
items:
$ref: '#/components/schemas/TroubleTicketRelationship'
AttachmentRef:
description: Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures
allOf:
- $ref: '#/components/schemas/EntityRef'
- properties:
description:
type: string
description: A narrative text describing the content of the attachment
url:
type: string
description: Link to the attachment media/content
StatusChange:
description: Holds the status notification reasons and associated date the status changed, populated by the server
allOf:
- $ref: '#/components/schemas/Entity'
- properties:
changeDate:
type: string
format: date-time
description: The date and time the status changed.
changeReason:
type: string
description: The reason why the status changed.
status:
type: string
description: The status of the trouble ticket
ChannelRef:
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'
TroubleTicketStatusType:
type: string
description: Possible values for the status of the trouble ticket
enum:
- submitted
- acknowledged
- rejected
- pending
- held
- inProgress
- cancelled
- closed
- resolved
Attachment:
description: Complements the description of an element (for instance a product) through video, pictures...
allOf:
- $ref: '#/components/schemas/Entity'
- properties:
id:
type: string
description: Unique identifier for this particular attachment
href:
type: string
description: URI for this Attachment
attachmentType:
type: string
description: Attachment type such as video, picture
content:
type: string
description: The actual contents of the attachment object, if embedded, encoded as base64
description:
type: string
description: A narrative text describing the content of the attachment
mimeType:
type: string
description: Attachment mime type such as extension file for video, picture and document
name:
type: string
description: The name of the attachment
url:
type: string
description: Uniform Resource Locator, is a web page address (a subset of URI)
size:
$ref: '#/components/schemas/Quantity'
description: The size of the attachment.
validFor:
$ref: '#/components/schemas/TimePeriod'
description: The period of time for which the attachment is valid
RelatedEntity:
description: A reference to an entity, where the type of the entity is not known in advance.
allOf:
- $ref: '#/components/schemas/Entity'
- required:
- id
- role
- '@referredType'
properties:
id:
type: string
description: Unique identifier of a related entity.
href:
type: string
description: Reference of the related entity.
name:
type: string
description: Name of the related entity.
role:
type: string
description: The role of an entity.
'@referredType':
type: string
description: The actual type of the target instance when needed for disambiguation.
TroubleTicket_Create:
description: 'A trouble ticket is a record of an issue that is created, tracked, and managed by a trouble ticket management system
Skipped properties: id,href'
allOf:
- $ref: '#/components/schemas/Entity'
- required:
- description
- severity
- ticketType
properties:
creationDate:
type: string
format: date-time
description: The date on which the trouble ticket was created
description:
type: string
description: Description of the trouble or issue
expectedResolutionDate:
type: string
format: date-time
description: The expected resolution date determined by the trouble ticket system
externalId:
type: string
description: Additional identifier coming from an external system
lastUpdate:
type: string
format: date-time
description: The date and time that the trouble ticked was last updated
name:
type: string
description: Name of the trouble ticket, typically a short description provided by the user that create 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...'
requestedResolutionDate:
type: string
format: date-time
description: The resolution date requested by the user
resolutionDate:
type: string
format: date-time
description: The date and time the trouble ticket was resolved
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"
statusChangeDate:
type: string
format: date-time
description: The date and time the status changed.
statusChangeReason:
type: string
description: The reason for changing the status
ticketType:
type: string
description: represent a business type of the trouble ticket e.g. incident, complain, request
attachment:
description: File(s) attached to the trouble ticket. e.g. pictur of broken device, scaning of a bill or charge
type: array
items:
$ref: '#/components/schemas/AttachmentRefOrValue'
channel:
$ref: '#/components/schemas/ChannelRef'
description: The channel that origin the trouble ticket
note:
description: The note(s) that are associated to the ticket.
type: array
items:
$ref: '#/components/schemas/Note'
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.
type: array
items:
$ref: '#/components/schemas/RelatedEntity'
relatedParty:
description: The related party(ies) that are associated to the ticket.
type: array
items:
$ref: '#/components/schemas/RelatedParty'
status:
$ref: '#/components/schemas/TroubleTicketStatusType'
description: The current status of the trouble ticket
statusChange:
description: The status change history that are associated to the ticket.Populated by the server
type: array
items:
$ref: '#/components/schemas/StatusChange'
troubleTicketRelationship:
description: A list of trouble ticket relationships (TroubleTicketRelationship [*]). Represents a relationship between trouble tickets
type: array
items:
$ref: '#/components/schemas/TroubleTicketRelationship'
TroubleTicketRelationship:
description: Represents a relationship between trouble Trouble Tickets
allOf:
- $ref: '#/components/schemas/Entity'
- properties:
id:
type: string
description: Unique identifier of the Trouble Ticket
href:
type: string
description: Reference of the Trouble Ticket
name:
type: string
description: Name of the Trouble Ticket
relationshipType:
type: string
description: Type of the Trouble Ticket relationship can be isChiled, dependent etc...
EntityRef:
description: Base entityRef schema for use in TMForum Open-APIs
allOf:
- $ref: '#/components/schemas/Entity'
- properties:
id:
type: string
description: Unique identifier of a related entity.
href:
type: string
description: Reference of the related entity.
name:
type: string
description: Name of the related entity.
'@referredType':
type: string
description: The actual type of the target instance when needed for disambiguation.
TimePeriod:
type: object
description: A period of time, either as a deadline (endDateTime only) a startDateTime only, or both
properties:
endDateTime:
type: string
format: date-time
description: End of the time period, using IETC-RFC-3339 format
startDateTime:
type: string
format: date-time
description: Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end
Entity:
discriminator:
propertyName: '@type'
description: Base entity schema for use in TMForum Open-APIs
properties:
'@type':
type: string
description: When sub-classing, this defines the sub-class entity name
'@baseType':
type: string
description: When sub-classing, this defines the super-class
'@schemaLocation':
type: string
format: uri
description: A URI to a JSON-Schema file that defines additional attributes and relationships
Quantity:
type: object
description: An amount in a given unit
properties:
amount:
type: number
format: float
description: Numeric value in a given unit
default: 1.0
units:
type: string
description: Unit
TroubleTicket:
description: A trouble ticket is a record of an issue that is created, tracked, and managed by a trouble ticket management system
allOf:
- $ref: '#/components/schemas/Entity'
- properties:
id:
type: string
description: Unique identifier of the trouble ticket
href:
type: string
description: Hyperlink, a reference to the trouble ticket entity
creationDate:
type: string
format: date-time
description: The date on which the trouble ticket was created
description:
type: string
description: Description of the trouble or issue
expectedResolutionDate:
type: string
format: date-time
description: The expected resolution date determined by the trouble ticket system
externalId:
type: string
description: Additional identifier coming from an external system
lastUpdate:
type: string
format: date-time
description: The date and time that the trouble ticked was last updated
name:
type: string
description: Name of the trouble ticket, typically a short description provided by the user that create 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...'
requestedResolutionDate:
type: string
format: date-time
description: The resolution date requested by the user
resolutionDate:
type: string
format: date-time
description: The date and time the trouble ticket was resolved
severity:
type: string
description: "The severity of the issue. Indicate the implication of the issue on the expected functionality e.g. of a sy
# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bell-canada/refs/heads/main/openapi/bell-canada-troubleticket-api-openapi.yml