---
schema_version: "1"
id: c7bfc8e3dd02ece89252c500362c6f562b2b13345a8ac9ad820c8a596637addc
title: TMF621 v4 Trouble Ticket Management (Outbound)
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/industries-integrations/comms/references/generated-api-specs/tmf621.md
canonical_url: https://developer.salesforce.com/docs/industries/communications/references/tmf621
source_site: developer.salesforce.com
content_type: documentation
content_hash: e3f1f26980eb21a6f4c014a7e735d7a06d3fd07aa2db2ba91d00cc51ece50cf6
products:
  - Communications Cloud TM Forum API
  - Industries Integrations
---
TMF621 v4 Trouble Ticket Management (Outbound)

# TMF621 v4 Trouble Ticket Management (Outbound)

The Trouble Ticket API provides a standardized client interface to Trouble Ticket Management Systems for creating, tracking, and managing trouble tickets that arise from issues or problems identified by customers or other systems. The API supports sending notifications when a trouble ticket is updated, including changes to its status.

Protocols: https.

## Security

*   `clientIdEnforcement` (x-client-id-enforcement) Apply Client ID Enforcement policy to resource methods for authenticating API requests
    *   Header client\_id: Pass the Client ID to authenticate the API.
    *   Header client\_secret: Pass the Client Secret to authenticate the API.

## /notification

Notification endpoints for trouble ticket related events.

## Operations

### POST Event on create trouble ticket.

`POST /notification/troubleTicketCreateEvent`

Security: clientIdEnforcement.

Client listener for receiving the notification TroubleTicketCreateEvent. This endpoint handles notifications when new tickets are created in the system.

#### Request body

Media type: `application/json`. Schema: `array of object`.

Array of `object`.

*   `entityId` (_string_)  
    Example: `001xx000003GavHAAS`.
*   `entityName` (_string_)  
    Example: `Case`.
*   `eventId` (_string_)  
    Example: `0001ade9-3f74-0b99-dbc4-42e73424b774-1`.
*   `commitTimestamp` (_number_)  
    Example: `1739268701178`.
*   `commitNumber` (_number_)  
    Example: `123`.
*   `correlationId` (_string_)  
    Example: `0001ade9-3f74-0b99-dbc4-42e73424b77`.
*   `changeEventType` (_string_)  
    Example: `Update`.
*   `enrichedFields` (_object_)
    *   `CaseNumber` (_string_)  
        Example: `00001510`.
*   `changedFields` (_object_)
    
    _Example_
    
    ```
    field1: "value1"
    field2: "value2"
    ```
    

_Example_

```
[
  {
    "entityId": "5nDLT000000457Z2AQ",
    "entityName": "CaseTroubleTicket",
    "eventId": "00000e62-c812-cc80-4e71-49c0cf3745e8_1",
    "commitTimestamp": 1751271472000,
    "commitNumber": 1751271472938983400,
    "correlationId": "00000e62-c812-cc80-4e71-49c0cf3745e8",
    "changedFields": {
      "LastModifiedDate": "Mon Jun 30 08:17:52 GMT 2025",
      "CreatedById": "005LT000005J3vNYAS",
      "ExternalId": "External ID 1722349831244",
      "CreatedDate": "Mon Jun 30 08:17:52 GMT 2025",
      "CaseId": "500LT00000BtCNBYA3",
      "Severity": "Critical",
      "LastModifiedById": "005LT000005J3vNYAS",
      "Name": "MN-000000012"
    },
    "changeEventType": "Create",
    "enrichedFields": {
      "Case.CaseNumber": "00001014"
    }
  }
]
```

#### Responses

*   **207** Ticket creation event successfully processed
    
    Media type: `application/json`. Schema: `array of object`.
    
    Array of `object`.
    
    *   `entityId` (_string_, required)  
        Example: `00001161`.
    *   `message` (_string_, required)  
        Example: `Notification Sent Successfully`.
    
    _Example_
    
    ```
    [
      {
      "entityId" : "00001161",
      "message" : "Notification Sent Successfully"
      },
      {
      "entityId" : "068Kj00000TKdMmIAL",
      "message" : "Invalid Entity Name"
      }
    ]
    ```
    
*   **400** Bad request
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "400",
      "reason": "string",
      "message": "Bad Request",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **401** Unauthorized
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "401",
      "reason": "string",
      "message": "Unauthorized",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "403",
      "reason": "string",
      "message": "Forbidden",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **404** Resource not found
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "404",
      "reason": "string",
      "message": "Not Found",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **405** Method not allowed
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "405",
      "reason": "string",
      "message": "Method Not Allowed",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **500** Internal server error
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "500",
      "reason": "string",
      "message": "Internal Server Error",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **501** Not Implemented
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "501",
      "reason": "string",
      "message": "Not Implemented",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **503** Service Unavailable
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "503",
      "reason": "string",
      "message": "Service Unavailable",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **200**
    
    Headers:
    
    *   `X-Ratelimit-Remaining` (number, required) The amount of available quota.  
        Example: `5`.
    *   `X-Ratelimit-Limit` (number, required) The maximum available requests per window.  
        Example: `10`.
    *   `X-Ratelimit-Reset` (number, required) The remaining time, in milliseconds, until a new window starts.  
        Example: `3000`.
*   **201**
    
    Headers:
    
    *   `X-Ratelimit-Remaining` (number, required) The amount of available quota  
        Example: `5`.
    *   `X-Ratelimit-Limit` (number, required) The maximum available requests per window  
        Example: `10`.
    *   `X-Ratelimit-Reset` (number, required) The remaining time, in milliseconds, until a new window starts.  
        Example: `3000`.

### POST Change event on change of the Attribute value.

`POST /notification/troubleTicketAttributeValueChangeEvent`

Security: clientIdEnforcement.

Client listener for receiving the notification TroubleTicketAttributeValueChangeEvent. This endpoint handles notifications when tickets attributes are modified.

#### Request body

Media type: `application/json`. Schema: `array of object`.

Array of `object`.

*   `entityId` (_string_)  
    Example: `001xx000003GavHAAS`.
*   `entityName` (_string_)  
    Example: `Case`.
*   `eventId` (_string_)  
    Example: `0001ade9-3f74-0b99-dbc4-42e73424b774-1`.
*   `commitTimestamp` (_number_)  
    Example: `1739268701178`.
*   `commitNumber` (_number_)  
    Example: `123`.
*   `correlationId` (_string_)  
    Example: `0001ade9-3f74-0b99-dbc4-42e73424b77`.
*   `changeEventType` (_string_)  
    Example: `Update`.
*   `enrichedFields` (_object_)
    *   `CaseNumber` (_string_)  
        Example: `00001510`.
*   `changedFields` (_object_)
    
    _Example_
    
    ```
    field1: "value1"
    field2: "value2"
    ```
    

_Example_

```
[
  {
    "entityId": "500LT00000BX3gjYAD",
    "entityName": "Case",
    "eventId": "00007171-7146-9dbb-d026-4f34e072133d_1",
    "commitTimestamp": 1749726891000,
    "commitNumber": 1749726891487051800,
    "correlationId": "00007171-7146-9dbb-d026-4f34e072133d",
    "changedFields": {
      "Priority": "PicklistData: High"
    },
    "changeEventType": "Update",
    "enrichedFields": {
      "CaseNumber": "00001052"
    }
  }
]
```

#### Responses

*   **207** Ticket attribute change event successfully processed
    
    Media type: `application/json`. Schema: `array of object`.
    
    Array of `object`.
    
    *   `entityId` (_string_, required)  
        Example: `00001161`.
    *   `message` (_string_, required)  
        Example: `Notification Sent Successfully`.
    
    _Example_
    
    ```
    [
      {
      "entityId" : "00001161",
      "message" : "Notification Sent Successfully"
      },
      {
      "entityId" : "068Kj00000TKdMmIAL",
      "message" : "Invalid Entity Name"
      }
    ]
    ```
    
*   **400** Bad request
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "400",
      "reason": "string",
      "message": "Bad Request",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **401** Unauthorized
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "401",
      "reason": "string",
      "message": "Unauthorized",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "403",
      "reason": "string",
      "message": "Forbidden",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **404** Resource not found
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "404",
      "reason": "string",
      "message": "Not Found",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **405** Method not allowed
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "405",
      "reason": "string",
      "message": "Method Not Allowed",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **500** Internal server error
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "500",
      "reason": "string",
      "message": "Internal Server Error",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **501** Not Implemented
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "501",
      "reason": "string",
      "message": "Not Implemented",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **503** Service Unavailable
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "503",
      "reason": "string",
      "message": "Service Unavailable",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **200**
    
    Headers:
    
    *   `X-Ratelimit-Remaining` (number, required) The amount of available quota.  
        Example: `5`.
    *   `X-Ratelimit-Limit` (number, required) The maximum available requests per window.  
        Example: `10`.
    *   `X-Ratelimit-Reset` (number, required) The remaining time, in milliseconds, until a new window starts.  
        Example: `3000`.
*   **201**
    
    Headers:
    
    *   `X-Ratelimit-Remaining` (number, required) The amount of available quota  
        Example: `5`.
    *   `X-Ratelimit-Limit` (number, required) The maximum available requests per window  
        Example: `10`.
    *   `X-Ratelimit-Reset` (number, required) The remaining time, in milliseconds, until a new window starts.  
        Example: `3000`.

### POST Event on change of the state.

`POST /notification/troubleTicketStateChangeEvent`

Security: clientIdEnforcement.

Client listener for receiving the notification TroubleTicketStateChangeEvent. This endpoint handles notifications when tickets states transition.

#### Request body

Media type: `application/json`. Schema: `array of object`.

Array of `object`.

*   `entityId` (_string_)  
    Example: `001xx000003GavHAAS`.
*   `entityName` (_string_)  
    Example: `Case`.
*   `eventId` (_string_)  
    Example: `0001ade9-3f74-0b99-dbc4-42e73424b774-1`.
*   `commitTimestamp` (_number_)  
    Example: `1739268701178`.
*   `commitNumber` (_number_)  
    Example: `123`.
*   `correlationId` (_string_)  
    Example: `0001ade9-3f74-0b99-dbc4-42e73424b77`.
*   `changeEventType` (_string_)  
    Example: `Update`.
*   `enrichedFields` (_object_)
    *   `CaseNumber` (_string_)  
        Example: `00001510`.
*   `changedFields` (_object_)
    
    _Example_
    
    ```
    field1: "value1"
    field2: "value2"
    ```
    

_Example_

```
[
  {
    "entityId": "500LT00000BWxJZYA1",
    "entityName": "Case",
    "eventId": "0000018e-4689-7469-b4b8-e9d1fd2f50d5_1",
    "commitTimestamp": 1749709262000,
    "commitNumber": 1749709262261117000,
    "correlationId": "0000018e-4689-7469-b4b8-e9d1fd2f50d5",
    "changedFields": {
      "Status": "PicklistData: Escalated"
    },
    "changeEventType": "Update",
    "enrichedFields": {
      "CaseNumber": "00001046"
    }
  }
]
```

#### Responses

*   **207** Ticket state change event successfully processed.
    
    Media type: `application/json`. Schema: `array of object`.
    
    Array of `object`.
    
    *   `entityId` (_string_, required)  
        Example: `00001161`.
    *   `message` (_string_, required)  
        Example: `Notification Sent Successfully`.
    
    _Example_
    
    ```
    [
      {
      "entityId" : "00001161",
      "message" : "Notification Sent Successfully"
      },
      {
      "entityId" : "068Kj00000TKdMmIAL",
      "message" : "Invalid Entity Name"
      }
    ]
    ```
    
*   **400** Bad request
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "400",
      "reason": "string",
      "message": "Bad Request",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **401** Unauthorized
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "401",
      "reason": "string",
      "message": "Unauthorized",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "403",
      "reason": "string",
      "message": "Forbidden",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **404** Resource not found
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "404",
      "reason": "string",
      "message": "Not Found",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **405** Method not allowed
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "405",
      "reason": "string",
      "message": "Method Not Allowed",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **500** Internal server error
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "500",
      "reason": "string",
      "message": "Internal Server Error",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **501** Not Implemented
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "501",
      "reason": "string",
      "message": "Not Implemented",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **503** Service Unavailable
    
    Media type: `application/json`. Schema: `any`.
    
    Type: `any`.
    
    _Example_
    
    ```
    {
      "@type": "Error",
      "@baseType": "string",
      "@schemaLocation": "string",
      "code": "503",
      "reason": "string",
      "message": "Service Unavailable",
      "status": "string",
      "referenceError": "string"
    }
    ```
    
*   **200**
    
    Headers:
    
    *   `X-Ratelimit-Remaining` (number, required) The amount of available quota.  
        Example: `5`.
    *   `X-Ratelimit-Limit` (number, required) The maximum available requests per window.  
        Example: `10`.
    *   `X-Ratelimit-Reset` (number, required) The remaining time, in milliseconds, until a new window starts.  
        Example: `3000`.
*   **201**
    
    Headers:
    
    *   `X-Ratelimit-Remaining` (number, required) The amount of available quota  
        Example: `5`.
    *   `X-Ratelimit-Limit` (number, required) The maximum available requests per window  
        Example: `10`.
    *   `X-Ratelimit-Reset` (number, required) The remaining time, in milliseconds, until a new window starts.  
        Example: `3000`.