---
schema_version: "1"
id: 6861d75f32c62e77099cecf2ed4424536c1d64694a3b73c86a87c1c3ca02c2e5
title: TMF641 v4 Service Ordering (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/tmf641.md
canonical_url: https://developer.salesforce.com/docs/industries/communications/references/tmf641
source_site: developer.salesforce.com
content_type: documentation
content_hash: 5b46b971cee14dbf0e9a9c94cdcbe2afc825fa1c27a1172e456f1caa2ee68ac9
products:
  - Communications Cloud TM Forum API
  - Industries Integrations
---
TMF641 v4 Service Ordering (Outbound)

# TMF641 v4 Service Ordering (Outbound)

Use the Service Ordering Management REST APIs to manage your service orders. The data exchange is compliant with the TM Forum's Open API specification that enables operations, such as creation, update, or cancellation of a service order request.

Protocols: https.

## Operations

### POST Create a service order request

`POST /serviceOrder`

Creates a service order that includes default values and creation rules.

#### Request body

Media type: `application/json`. Schema: `ServiceOrder`.

The service order resource describes a list of service order items.

_Example_

```
{
   "order_items":[
      {
         "order_item_id":"a1f3i000000UcNUAA0",
         "action":"Add",
         "supplemental_action":"Amend",
         "specified_by":{
            "specification_name":"Mobile Billing specification",
            "specification_id":"01t3i000001NCngAAG"
         },
         "described_by":[
            {
               "value":"VLO_MOB_PLAN",
               "characteristic":"Billing code"
            }
         ],
         "order_items":[
            {
               "described_by":[
                  {
                     "value":"VLO_SIM",
                     "characteristic":"Billing code"
                  }
               ],
               "action":"Add",
               "supplemental_action":"",
               "order_item_id":"a1f3i000000UcNVAA0"
            }
         ]
      }
   ],
   "account_id":"0015f000006Pp3BAAS",
   "order_id":"a1g3i000000t1RhAAI",
   "responseUri":"/services/apexrest/vlocity_cmt/asyncCallback/a2I8Z000009HAgUUAW"
}
```

#### Responses

*   **201** Request is successful.
    
    Media type: `application/json`. Schema: `SuccessMessage`.
    
    _Example_
    
    ```
    {
      "message": "Success"
    }
    ```
    
*   **400** There was an issue with your request.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "400"
    reason: Bad Request
    ```
    
*   **401** Authorization failed.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "401"
    reason: Unauthorized
    ```
    
*   **403** Request forbidden.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "403"
    reason: Forbidden
    ```
    
*   **404** Resource not found.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "404"
    reason: Not Found
    ```
    
*   **405** Method not allowed.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "405"
    reason: Method not allowed
    ```
    
*   **406**
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "406"
    reason: Request not acceptable
    ```
    
*   **415**
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "415"
    reason: Unsupported media type
    ```
    
*   **422** Unprocessable entity.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "422"
    reason: Unable to parse given payload.
    ```
    
*   **500** Unable to complete the request as the server encountered an error.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "500"
    reason: Internal Server Error
    ```
    
*   **501**
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "501"
    reason: Not Implemented
    ```
    

### PATCH Update a service order request

`PATCH /serviceOrder/{id}`

Modifies an existing service order partially by using the service order ID.

#### Parameters

*   `id` (path, string, required)

#### Request body

Media type: `application/json`. Schema: `ServiceOrder`.

_Example: same as POST /serviceOrder request._

#### Responses

*   **200** Request is successful.
    
    Media type: `application/json`. Schema: `SuccessMessage`.
    
    _Example_
    
    ```
    {
      "message": "Success"
    }
    ```
    
*   **400** There was an issue with your request.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "400"
    reason: Bad Request
    ```
    
*   **401** Authorization failed.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "401"
    reason: Unauthorized
    ```
    
*   **403** Request forbidden.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "403"
    reason: Forbidden
    ```
    
*   **404** Resource not found.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "404"
    reason: Not Found
    ```
    
*   **405** Method not allowed.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "405"
    reason: Method not allowed
    ```
    
*   **406**
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "406"
    reason: Request not acceptable
    ```
    
*   **415**
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "415"
    reason: Unsupported media type
    ```
    
*   **422** Unprocessable entity.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "422"
    reason: Unable to parse given payload.
    ```
    
*   **500** Unable to complete the request as the server encountered an error.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "500"
    reason: Internal Server Error
    ```
    
*   **501**
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "501"
    reason: Not Implemented
    ```
    

### POST Cancel a service order request

`POST /cancelServiceOrder`

Creates a cancellation request for a service order.

#### Request body

Media type: `application/json`. Schema: `ServiceOrder`.

_Example: same as POST /serviceOrder request._

#### Responses

*   **200** Request is successful.
    
    Media type: `application/json`. Schema: `SuccessMessage`.
    
    _Example_
    
    ```
    {
      "message": "Success"
    }
    ```
    
*   **400** There was an issue with your request.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "400"
    reason: Bad Request
    ```
    
*   **401** Authorization failed.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "401"
    reason: Unauthorized
    ```
    
*   **403** Request forbidden.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "403"
    reason: Forbidden
    ```
    
*   **404** Resource not found.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "404"
    reason: Not Found
    ```
    
*   **405** Method not allowed.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "405"
    reason: Method not allowed
    ```
    
*   **406**
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "406"
    reason: Request not acceptable
    ```
    
*   **415**
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "415"
    reason: Unsupported media type
    ```
    
*   **422** Unprocessable entity.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "422"
    reason: Unable to parse given payload.
    ```
    
*   **500** Unable to complete the request as the server encountered an error.
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "500"
    reason: Internal Server Error
    ```
    
*   **501**
    
    Media type: `application/json`. Schema: `ErrorMessage`.
    
    _Example_
    
    ```
    code: "501"
    reason: Not Implemented
    ```
    

## Schemas

### ServiceOrder

*   `order_items` (_object_, required) Specifies a list of order items related to the service order.
    
    Includes all fields of `OrderItemsArray`.
    
*   `account_id` (_string_, required) Specifies the unique identifier of the account related to the service order.
*   `order_id` (_string_, required) Specifies a unique identifier of the service order.
*   `responseUri` (_string_, required) Contains the URI of the service order resource with the response data.

### SuccessMessage

*   `message` (_string_, required)

### ErrorMessage

Shown when an API throws an error, typically with an HTTP error response code (3xx, 4xx, or 5xx).

*   `code` (_string_, required) Specifies the application-relevant detail defined in the API or a common list.
*   `reason` (_string_, required) Describes the reason for the error, which can be shown to a client user.
*   `message` (_string_) Provides more details and corrective actions related to the error, which can be shown to a client user.
*   `status` (_string_) Specifies the HTTP error code extension.
*   `referenceError` (_string_) Specifies the URI of the documentation that describes the error.
*   `@baseType` (_string_) Defines the super class when subclassing.
*   `@schemaLocation` (_string_) Specifies the URI to a JSON schema file that defines additional attributes and relationships.
*   `@type` (_string_) Defines the subclass entity name when subclassing.

### OrderItemsArray

Array of `OrderItems`.

### OrderItems

Specifies an order item related to the service order.

*   `order_item_id` (_string_, required) Specifies a unique identifier of the order item.
*   `action` (_string_, required) Specifies the action type for this order item to be carried out on the service. The possible action types are addition, modification, deletion, or no change.
*   `supplemental_action` (_string_) Specifies the additional actions carried out on the service after the initial action.
*   `specified_by` (_object_, required) Provides the specification from which this service was instantiated.
    
    Includes all fields of `SpecifiedBy`.
    
*   `described_by` (_object_, required)
    
    Includes all fields of `DescribedBy`.
    
*   `order_items` (_object_) Specifies the list of order items for the service order.
    
    Includes all fields of `SubOrderItemsArray`.
    

### SpecifiedBy

*   `specification_name` (_string_, required) Specifies the name of the specification.
*   `specification_id` (_string_, required) Specifies the unique identifier of the specification.

### DescribedBy

Defines the service order items by a value and the service order characteristic.

Array of `object`.

Includes all fields of `DescribedByData`.

### SubOrderItemsArray

Array of `SubOrderItems`.

### DescribedByData

Defines the service order items by a value and the service order characteristic.

*   `value` (_string_, required) Defines the order item by a value.
*   `characteristic` (_string_, required) Describes the order item by the item's characteristic.

### SubOrderItems

Specifies a service order item related to the order item.

*   `order_item_id` (_string_, required) Specifies a unique identifier of the order item.
*   `action` (_string_, required) Specifies the action type for the order item to be carried out on the service. The possible action types are addition, modification, deletion, or no change.
*   `supplemental_action` (_string_) Specifies the additional actions carried out on the service after the initial action.
*   `specified_by` (_object_) Specifies the name of the specification.
    
    Includes all fields of `SpecifiedBy`.
    
*   `described_by` (_object_, required) Defines the service order items by a value and the service order characteristic.
    
    Includes all fields of `DescribedBy`.