TMF651 Agreement Management
The Agreement Management API manages commercial agreements between parties in the telecom ecosystem, supporting SLA contracts, partner agreements, and customer agreements across BSS and partner management systems.
The Agreement Management API manages commercial agreements between parties in the telecom ecosystem, supporting SLA contracts, partner agreements, and customer agreements across BSS and partner management systems.
{
"swagger": "2.0",
"info": {
"title": "Agreement Management",
"description": "This is Swagger UI environment generated for the TMF Agreement Management specification",
"version": "4.0.0"
},
"host": "serverRoot",
"basePath": "/tmf-api/agreementManagement/v4/",
"schemes": [
"https"
],
"consumes": [
"application/json;charset=utf-8"
],
"produces": [
"application/json;charset=utf-8"
],
"tags": [
{
"name": "agreement"
},
{
"name": "agreementSpecification"
},
{
"name": "notification listeners (client side)"
},
{
"name": "events subscription"
}
],
"paths": {
"/agreement": {
"get": {
"operationId": "listAgreement",
"summary": "List or find Agreement objects",
"description": "This operation list or find Agreement entities",
"tags": [
"agreement"
],
"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/Agreement"
}
}
},
"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": "createAgreement",
"summary": "Creates a Agreement",
"description": "This operation creates a Agreement entity.",
"tags": [
"agreement"
],
"parameters": [
{
"name": "agreement",
"description": "The Agreement to be created",
"required": true,
"schema": {
"$ref": "#/definitions/Agreement_Create"
},
"in": "body"
}
],
"responses": {
"201": {
"description": "Created",
"schema": {
"$ref": "#/definitions/Agreement"
}
},
"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"
}
}
}
}
},
"/agreement/{id}": {
"get": {
"operationId": "retrieveAgreement",
"summary": "Retrieves a Agreement by ID",
"description": "This operation retrieves a Agreement entity. Attribute selection is enabled for all first level attributes.",
"tags": [
"agreement"
],
"parameters": [
{
"name": "id",
"description": "Identifier of the Agreement",
"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/Agreement"
}
},
"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": "patchAgreement",
"summary": "Updates partially a Agreement",
"description": "This operation updates partially a Agreement entity.",
"tags": [
"agreement"
],
"parameters": [
{
"name": "id",
"description": "Identifier of the Agreement",
"required": true,
"type": "string",
"in": "path"
},
{
"name": "agreement",
"description": "The Agreement to be updated",
"required": true,
"schema": {
"$ref": "#/definitions/Agreement_Update"
},
"in": "body"
}
],
"responses": {
"200": {
"description": "Updated",
"schema": {
"$ref": "#/definitions/Agreement"
}
},
"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": "deleteAgreement",
"summary": "Deletes a Agreement",
"description": "This operation deletes a Agreement entity.",
"tags": [
"agreement"
],
"parameters": [
{
"name": "id",
"description": "Identifier of the Agreement",
"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"
}
}
}
}
},
"/agreementSpecification": {
"get": {
"operationId": "listAgreementSpecification",
"summary": "List or find AgreementSpecification objects",
"description": "This operation list or find AgreementSpecification entities",
"tags": [
"agreementSpecification"
],
"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/AgreementSpecification"
}
}
},
"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": "createAgreementSpecification",
"summary": "Creates a AgreementSpecification",
"description": "This operation creates a AgreementSpecification entity.",
"tags": [
"agreementSpecification"
],
"parameters": [
{
"name": "agreementSpecification",
"description": "The AgreementSpecification to be created",
"required": true,
"schema": {
"$ref": "#/definitions/AgreementSpecification_Create"
},
"in": "body"
}
],
"responses": {
"201": {
"description": "Created",
"schema": {
"$ref": "#/definitions/AgreementSpecification"
}
},
"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"
}
}
}
}
},
"/agreementSpecification/{id}": {
"get": {
"operationId": "retrieveAgreementSpecification",
"summary": "Retrieves a AgreementSpecification by ID",
"description": "This operation retrieves a AgreementSpecification entity. Attribute selection is enabled for all first level attributes.",
"tags": [
"agreementSpecification"
],
"parameters": [
{
"name": "id",
"description": "Identifier of the AgreementSpecification",
"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/AgreementSpecification"
}
},
"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": "patchAgreementSpecification",
"summary": "Updates partially a AgreementSpecification",
"description": "This operation updates partially a AgreementSpecification entity.",
"tags": [
"agreementSpecification"
],
"parameters": [
{
"name": "id",
"description": "Identifier of the AgreementSpecification",
"required": true,
"type": "string",
"in": "path"
},
{
"name": "agreementSpecification",
"description": "The AgreementSpecification to be updated",
"required": true,
"schema": {
"$ref": "#/definitions/AgreementSpecification_Update"
},
"in": "body"
}
],
"responses": {
"200": {
"description": "Updated",
"schema": {
"$ref": "#/definitions/AgreementSpecification"
}
},
"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": "deleteAgreementSpecification",
"summary": "Deletes a AgreementSpecification",
"description": "This operation deletes a AgreementSpecification entity.",
"tags": [
"agreementSpecification"
],
"parameters": [
{
"name": "id",
"description": "Identifier of the AgreementSpecification",
"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"
}
}
}
}
},
"/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",
# --- truncated at 32 KB (134 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tm-forum/refs/heads/main/openapi/tm-forum-tmf651-agreement-management-openapi.json