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.

OpenAPI Specification

tm-forum-tmf641-service-ordering-openapi.json Raw ↑
{
    "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