openapi: 3.2.0 info: title: Trouble Ticket API description: '**TMF API Reference : TMF - 621 Trouble Ticket** **Release : 19.0 - June 2019** The 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.' version: 4.1.1 servers: - url: https://serverRoot/tmf-api/troubleTicket/v4/ tags: - name: Trouble Ticket paths: /troubleTicket: get: operationId: listTroubleTicket summary: List or find TroubleTicket objects description: This operation list or find TroubleTicket entities tags: - Trouble Ticket 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: - Trouble Ticket 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: - Trouble Ticket 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: - Trouble Ticket 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: - Trouble Ticket 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). 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 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' 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_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' Note: description: Extra information about a given entity allOf: - $ref: '#/components/schemas/Entity' - properties: id: type: string description: Identifier of the note within its containing entity (may or may not be globally unique, depending on provider implementation) author: type: string description: Author of the note date: type: string format: date-time description: Date of the note text: type: string description: Text of the note TroubleTicketStatusType: type: string description: Possible values for the status of the trouble ticket enum: - submitted - acknowledged - rejected - pending - held - inProgress - cancelled - closed - resolved 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 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' 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 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... 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 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 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 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. 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. 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'