TMF641 Service Order Management
The Service Ordering API manages service orders for provisioning and activating telecom services, orchestrating the end-to-end service delivery workflow from order intake to service activation.
The Service Ordering API manages service orders for provisioning and activating telecom services, orchestrating the end-to-end service delivery workflow from order intake to service activation.
{
"swagger": "2.0",
"info": {
"title": "API ServiceOrdering",
"description": "## TMF API Reference : TMF 641 - Service Ordering Management\n\n Version 4.1 \n\nThe Service Order API provides a standardized mechanism for managing Service Order, a type of order which can be used to place an order between internal Customer Order management system to service order management system or between a service provider and a partner and vice versa.\n\n### Service Order resource\nA service order will describe a list of service order items. A service order item references an action on an existing or future service. By service we designed Customer Facing Service (CFS) as well as Resource Facing Service (RFS).\nFrom a component perspective, a service order should be available\n- from a Service Orchestration Component (and it could mix CFS and RFS)\n- from an Infrastructure Control & Management component (and it would have only RFS)\n\n### TMF641 performs the following operations on service order resource :\n- Retrieval of a service order or a collection of service orders depending on filter criteria\n- Partial update of a service order (including updating rules)\n- Creation of a service order (including default values and creation rules)\n- Deletion of service order (for administration purposes)\n- Notification of events on Service order\n\n**Cancel Service Order resource**\n\nThis resource is used to request a service order cancellation.\n\n**TMF641 provides following operations on Cancel Service Order resource :**\n\n- Retrieval of a cancel service order or a collection of cancel service orders \n- Creation of a cancel service order \n- Notification of events on cancel service order.\n\nCopyright \u00a9 TM Forum 2020. All Rights Reserved",
"version": "4.1.0"
},
"host": "serverRoot",
"basePath": "/tmf-api/serviceOrdering/v4",
"schemes": [
"https"
],
"consumes": [
"application/json;charset=utf-8"
],
"produces": [
"application/json;charset=utf-8"
],
"tags": [
{
"name": "serviceOrder"
},
{
"name": "cancelServiceOrder"
},
{
"name": "notification listeners (client side)"
},
{
"name": "events subscription"
}
],
"paths": {
"/serviceOrder": {
"get": {
"operationId": "listServiceOrder",
"summary": "List or find ServiceOrder objects",
"description": "This operation list or find ServiceOrder entities",
"tags": [
"serviceOrder"
],
"parameters": [
{
"name": "fields",
"description": "Comma-separated properties to be provided in response",
"required": false,
"in": "query",
"type": "string"
},
{
"name": "offset",
"description": "Requested index for start of resources to be provided in response",
"required": false,
"in": "query",
"type": "integer"
},
{
"name": "limit",
"description": "Requested number of resources to be provided in response",
"required": false,
"in": "query",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"headers": {
"X-Result-Count": {
"description": "Actual number of items returned in the response body",
"type": "integer"
},
"X-Total-Count": {
"description": "Total number of items matching criteria",
"type": "integer"
}
},
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ServiceOrder"
}
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/Error"
}
},
"401": {
"description": "Unauthorized",
"schema": {
"$ref": "#/definitions/Error"
}
},
"403": {
"description": "Forbidden",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/Error"
}
},
"405": {
"description": "Method Not allowed",
"schema": {
"$ref": "#/definitions/Error"
}
},
"409": {
"description": "Conflict",
"schema": {
"$ref": "#/definitions/Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"post": {
"operationId": "createServiceOrder",
"summary": "Creates a ServiceOrder",
"description": "This operation creates a ServiceOrder entity.",
"tags": [
"serviceOrder"
],
"parameters": [
{
"name": "serviceOrder",
"description": "The ServiceOrder to be created",
"required": true,
"schema": {
"$ref": "#/definitions/ServiceOrder_Create"
},
"in": "body"
}
],
"responses": {
"201": {
"description": "Created",
"schema": {
"$ref": "#/definitions/ServiceOrder"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/Error"
}
},
"401": {
"description": "Unauthorized",
"schema": {
"$ref": "#/definitions/Error"
}
},
"403": {
"description": "Forbidden",
"schema": {
"$ref": "#/definitions/Error"
}
},
"405": {
"description": "Method Not allowed",
"schema": {
"$ref": "#/definitions/Error"
}
},
"409": {
"description": "Conflict",
"schema": {
"$ref": "#/definitions/Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/serviceOrder/{id}": {
"get": {
"operationId": "retrieveServiceOrder",
"summary": "Retrieves a ServiceOrder by ID",
"description": "This operation retrieves a ServiceOrder entity. Attribute selection is enabled for all first level attributes.",
"tags": [
"serviceOrder"
],
"parameters": [
{
"name": "id",
"description": "Identifier of the ServiceOrder",
"required": true,
"type": "string",
"in": "path"
},
{
"name": "fields",
"description": "Comma-separated properties to provide in response",
"required": false,
"type": "string",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/ServiceOrder"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/Error"
}
},
"401": {
"description": "Unauthorized",
"schema": {
"$ref": "#/definitions/Error"
}
},
"403": {
"description": "Forbidden",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/Error"
}
},
"405": {
"description": "Method Not allowed",
"schema": {
"$ref": "#/definitions/Error"
}
},
"409": {
"description": "Conflict",
"schema": {
"$ref": "#/definitions/Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"patch": {
"operationId": "patchServiceOrder",
"summary": "Updates partially a ServiceOrder",
"description": "This operation updates partially a ServiceOrder entity.",
"tags": [
"serviceOrder"
],
"parameters": [
{
"name": "id",
"description": "Identifier of the ServiceOrder",
"required": true,
"type": "string",
"in": "path"
},
{
"name": "serviceOrder",
"description": "The ServiceOrder to be updated",
"required": true,
"schema": {
"$ref": "#/definitions/ServiceOrder_Update"
},
"in": "body"
}
],
"responses": {
"200": {
"description": "Updated",
"schema": {
"$ref": "#/definitions/ServiceOrder"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/Error"
}
},
"401": {
"description": "Unauthorized",
"schema": {
"$ref": "#/definitions/Error"
}
},
"403": {
"description": "Forbidden",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/Error"
}
},
"405": {
"description": "Method Not allowed",
"schema": {
"$ref": "#/definitions/Error"
}
},
"409": {
"description": "Conflict",
"schema": {
"$ref": "#/definitions/Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"delete": {
"operationId": "deleteServiceOrder",
"summary": "Deletes a ServiceOrder",
"description": "This operation deletes a ServiceOrder entity.",
"tags": [
"serviceOrder"
],
"parameters": [
{
"name": "id",
"description": "Identifier of the ServiceOrder",
"required": true,
"type": "string",
"in": "path"
}
],
"responses": {
"204": {
"description": "Deleted"
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/Error"
}
},
"401": {
"description": "Unauthorized",
"schema": {
"$ref": "#/definitions/Error"
}
},
"403": {
"description": "Forbidden",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/Error"
}
},
"405": {
"description": "Method Not allowed",
"schema": {
"$ref": "#/definitions/Error"
}
},
"409": {
"description": "Conflict",
"schema": {
"$ref": "#/definitions/Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/cancelServiceOrder": {
"get": {
"operationId": "listCancelServiceOrder",
"summary": "List or find CancelServiceOrder objects",
"description": "This operation list or find CancelServiceOrder entities",
"tags": [
"cancelServiceOrder"
],
"parameters": [
{
"name": "fields",
"description": "Comma-separated properties to be provided in response",
"required": false,
"in": "query",
"type": "string"
},
{
"name": "offset",
"description": "Requested index for start of resources to be provided in response",
"required": false,
"in": "query",
"type": "integer"
},
{
"name": "limit",
"description": "Requested number of resources to be provided in response",
"required": false,
"in": "query",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"headers": {
"X-Result-Count": {
"description": "Actual number of items returned in the response body",
"type": "integer"
},
"X-Total-Count": {
"description": "Total number of items matching criteria",
"type": "integer"
}
},
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/CancelServiceOrder"
}
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/Error"
}
},
"401": {
"description": "Unauthorized",
"schema": {
"$ref": "#/definitions/Error"
}
},
"403": {
"description": "Forbidden",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/Error"
}
},
"405": {
"description": "Method Not allowed",
"schema": {
"$ref": "#/definitions/Error"
}
},
"409": {
"description": "Conflict",
"schema": {
"$ref": "#/definitions/Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
"post": {
"operationId": "createCancelServiceOrder",
"summary": "Creates a CancelServiceOrder",
"description": "This operation creates a CancelServiceOrder entity.",
"tags": [
"cancelServiceOrder"
],
"parameters": [
{
"name": "cancelServiceOrder",
"description": "The CancelServiceOrder to be created",
"required": true,
"schema": {
"$ref": "#/definitions/CancelServiceOrder_Create"
},
"in": "body"
}
],
"responses": {
"201": {
"description": "Created",
"schema": {
"$ref": "#/definitions/CancelServiceOrder"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/Error"
}
},
"401": {
"description": "Unauthorized",
"schema": {
"$ref": "#/definitions/Error"
}
},
"403": {
"description": "Forbidden",
"schema": {
"$ref": "#/definitions/Error"
}
},
"405": {
"description": "Method Not allowed",
"schema": {
"$ref": "#/definitions/Error"
}
},
"409": {
"description": "Conflict",
"schema": {
"$ref": "#/definitions/Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/cancelServiceOrder/{id}": {
"get": {
"operationId": "retrieveCancelServiceOrder",
"summary": "Retrieves a CancelServiceOrder by ID",
"description": "This operation retrieves a CancelServiceOrder entity. Attribute selection is enabled for all first level attributes.",
"tags": [
"cancelServiceOrder"
],
"parameters": [
{
"name": "id",
"description": "Identifier of the CancelServiceOrder",
"required": true,
"type": "string",
"in": "path"
},
{
"name": "fields",
"description": "Comma-separated properties to provide in response",
"required": false,
"type": "string",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/CancelServiceOrder"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/Error"
}
},
"401": {
"description": "Unauthorized",
"schema": {
"$ref": "#/definitions/Error"
}
},
"403": {
"description": "Forbidden",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/Error"
}
},
"405": {
"description": "Method Not allowed",
"schema": {
"$ref": "#/definitions/Error"
}
},
"409": {
"description": "Conflict",
"schema": {
"$ref": "#/definitions/Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/hub": {
"post": {
"operationId": "registerListener",
"summary": "Register a listener",
"description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.",
"tags": [
"events subscription"
],
"parameters": [
{
"name": "data",
"schema": {
"$ref": "#/definitions/EventSubscriptionInput"
},
"required": true,
"in": "body",
"description": "Data containing the callback endpoint to deliver the information"
}
],
"responses": {
"201": {
"description": "Subscribed",
"schema": {
"$ref": "#/definitions/EventSubscription"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/Error"
}
},
"401": {
"description": "Unauthorized",
"schema": {
"$ref": "#/definitions/Error"
}
},
"403": {
"description": "Forbidden",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/Error"
}
},
"405": {
"description": "Method Not allowed",
"schema": {
"$ref": "#/definitions/Error"
}
},
"409": {
"description": "Conflict",
"schema": {
"$ref": "#/definitions/Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/hub/{id}": {
"delete": {
"operationId": "unregisterListener",
"summary": "Unregister a listener",
"description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.",
"tags": [
"events subscription"
],
"parameters": [
{
"name": "id",
"type": "string",
"required": true,
"in": "path",
"description": "The id of the registered listener"
}
],
"responses": {
"204": {
"description": "Deleted"
},
"400": {
"description": "Bad request",
"schema": {
"$ref": "#/definitions/Error"
}
},
"401": {
"description": "Unauthorized",
"schema": {
"$ref": "#/definitions/Error"
}
},
"403": {
"description": "Forbidden",
"schema": {
"$ref": "#/definitions/Error"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/Error"
}
},
"405": {
"description": "Method not allowed",
"schema": {
"$ref": "#/definitions/Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
}
},
"/listener/serviceOrderCreateEvent": {
"post": {
"operationId": "listenToServiceOrderCreateEvent",
"summary": "Client listener for entity ServiceOrderCreateEvent",
"description": "Example of a client listener for receiving the notification ServiceOrderCreateEvent",
"tags": [
"notification listeners (client side)"
],
"parameters": [
{
"name": "data",
"required": true,
"in": "body",
"description": "The event data",
"schema": {
"$ref": "#/definitions/ServiceOrderCreateEvent"
}
}
],
"responses": {
"201": {
"description": "Notified",
"schema": {
"$ref": "#/definitions/EventSubscription"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/Error"
}
},
"401": {
"description": "Unauthorized",
"schema": {
"$ref": "#/definitions/Error"
}
},
"403": {
"description": "Forbidden"
# --- truncated at 32 KB (177 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tm-forum/refs/heads/main/openapi/tm-forum-tmf641-service-ordering-openapi.json