{ "swagger": "2.0", "info": { "title": "Resource Inventory Management", "description": "This is Swagger UI environment generated for the TMF Resource Inventory Management specification", "version": "4.1.0" }, "host": "serverRoot", "basePath": "/resourceInventoryManagement/v4/", "schemes": [ "https" ], "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "tags": [ { "name": "resource" }, { "name": "physicalResource" }, { "name": "logicalResource" }, { "name": "notification listeners (client side)" }, { "name": "events subscription" } ], "paths": { "/logicalResource": { "get": { "operationId": "listLogicalResource", "summary": "List or find LogicalResource objects", "description": "This operation list or find LogicalResource entities", "tags": [ "logicalResource" ], "parameters": [ { "in": "query", "name": "fields", "required": false, "type": "string", "description": "Comma-separated properties to be provided in response" }, { "in": "query", "name": "offset", "required": false, "type": "integer", "description": "Requested index for start of resources to be provided in response" }, { "in": "query", "name": "limit", "required": false, "type": "integer", "description": "Requested number of resources to be provided in response" }, { "in": "query", "name": "sort", "required": false, "type": "string", "description": "To have the output sorted by fields. Can support one or many fields, as well as ascending and descending sort order" }, { "in": "query", "name": "expand", "required": false, "type": "string", "description": "Lists the sub-entities to expand along with the depth value. Empty means expand all at depth level N" }, { "in": "query", "name": "depth", "required": false, "type": "string", "description": "Depth level where objects are dereferenced and inserted as values into the response" } ], "responses": { "200": { "description": "Success", "headers": { "X-Result-Count": { "type": "integer", "description": "Actual number of items returned in the response body" }, "X-Total-Count": { "type": "integer", "description": "Total number of items matching criteria" } }, "schema": { "items": { "$ref": "#/definitions/LogicalResource" }, "type": "array" } }, "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" } } } }, "post": { "operationId": "createLogicalResource", "summary": "Creates a LogicalResource", "description": "This operation creates a LogicalResource entity.", "tags": [ "logicalResource" ], "parameters": [ { "in": "body", "name": "logicalResource", "required": true, "schema": { "$ref": "#/definitions/LogicalResource_Create" }, "description": "The LogicalResource to be created" } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/LogicalResource" } }, "202": { "description": "Accepted" }, "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" } }, "422": { "description": "Unprocessable Entity", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/logicalResource/executeJSONPatch": { "patch": { "operationId": "executePatchResource", "summary": "Updates a Logical Resource by applying a list of json patch operations", "tags": [ "Resource" ], "parameters": [ { "in": "query", "name": "externalId", "required": true, "type": "string", "description": "Resource External Id" }, { "in": "body", "name": "operations", "required": true, "schema": { "items": { "$ref": "#/definitions/JsonPathPatchOperation" }, "type": "array" }, "description": "The json patch operations to be applied." } ], "responses": { "200": { "description": "Updated", "schema": { "$ref": "#/definitions/LogicalResource" } }, "204": { "description": "No Content" }, "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" } }, "422": { "description": "Unprocessable Entity", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/logicalResource/{id}": { "get": { "operationId": "retrieveLogicalResource", "summary": "Retrieves a LogicalResource by ID", "description": "This operation retrieves a LogicalResource entity. Attribute selection is enabled for all first level attributes.", "tags": [ "logicalResource" ], "parameters": [ { "in": "path", "name": "id", "required": true, "type": "string", "description": "Identifier of the LogicalResource" }, { "in": "query", "name": "fields", "required": false, "type": "string", "description": "Comma-separated properties to be provided in response" }, { "in": "query", "name": "expand", "required": false, "type": "string", "description": "Lists the sub-entities to expand along with the depth value. Empty means expand all at depth level N" }, { "in": "query", "name": "depth", "required": false, "type": "string", "description": "Depth level where objects are dereferenced and inserted as values into the response" } ], "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/LogicalResource" } }, "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" } } } }, "put": { "operationId": "updateLogicalResource", "summary": "Updates a LogicalResource", "description": "This operation updates a LogicalResource entity.", "tags": [ "logicalResource" ], "parameters": [ { "in": "path", "name": "id", "required": true, "type": "string", "description": "Identifier of the LogicalResource" }, { "in": "body", "name": "logicalResource", "required": true, "schema": { "$ref": "#/definitions/LogicalResource_Update" }, "description": "The LogicalResource to be updated" } ], "responses": { "200": { "description": "Updated", "schema": { "$ref": "#/definitions/LogicalResource" } }, "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": "patchLogicalResource", "summary": "Updates partially a LogicalResource", "description": "This operation updates partially a LogicalResource entity.", "tags": [ "logicalResource" ], "parameters": [ { "in": "path", "name": "id", "required": true, "type": "string", "description": "Identifier of the LogicalResource" }, { "in": "body", "name": "logicalResource", "required": true, "schema": { "$ref": "#/definitions/LogicalResource_Update" }, "description": "The LogicalResource to be updated" } ], "responses": { "200": { "description": "Updated", "schema": { "$ref": "#/definitions/LogicalResource" } }, "204": { "description": "No Content" }, "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" } }, "422": { "description": "Unprocessable Entity", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } }, "delete": { "operationId": "deleteLogicalResource", "summary": "Deletes a LogicalResource", "description": "This operation deletes a LogicalResource entity.", "tags": [ "logicalResource" ], "parameters": [ { "in": "path", "name": "id", "required": true, "type": "string", "description": "Identifier of the LogicalResource" } ], "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" } } } } }, "/physicalResource": { "get": { "operationId": "listPhysicalResource", "summary": "List or find PhysicalResource objects", "description": "This operation list or find PhysicalResource entities", "tags": [ "physicalResource" ], "parameters": [ { "in": "query", "name": "fields", "required": false, "type": "string", "description": "Comma-separated properties to be provided in response" }, { "in": "query", "name": "offset", "required": false, "type": "integer", "description": "Requested index for start of resources to be provided in response" }, { "in": "query", "name": "limit", "required": false, "type": "integer", "description": "Requested number of resources to be provided in response" }, { "in": "query", "name": "sort", "required": false, "type": "string", "description": "To have the output sorted by fields. Can support one or many fields, as well as ascending and descending sort order" }, { "in": "query", "name": "expand", "required": false, "type": "string", "description": "Lists the sub-entities to expand along with the depth value. Empty means expand all at depth level N" }, { "in": "query", "name": "depth", "required": false, "type": "string", "description": "Depth level where objects are dereferenced and inserted as values into the response" } ], "responses": { "200": { "description": "Success", "headers": { "X-Result-Count": { "type": "integer", "description": "Actual number of items returned in the response body" }, "X-Total-Count": { "type": "integer", "description": "Total number of items matching criteria" } }, "schema": { "items": { "$ref": "#/definitions/PhysicalResource" }, "type": "array" } }, "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" } } } }, "post": { "operationId": "createPhysicalResource", "summary": "Creates a PhysicalResource", "description": "This operation creates a PhysicalResource entity.", "tags": [ "physicalResource" ], "parameters": [ { "in": "body", "name": "physicalResource", "required": true, "schema": { "$ref": "#/definitions/PhysicalResource_Create" }, "description": "The PhysicalResource to be created" } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/PhysicalResource" } }, "202": { "description": "Accepted" }, "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" } }, "422": { "description": "Unprocessable Entity", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/physicalResource/{id}": { "get": { "operationId": "retrievePhysicalResource", "summary": "Retrieves a PhysicalResource by ID", "description": "This operation retrieves a PhysicalResource entity. Attribute selection is enabled for all first level attributes.", "tags": [ "physicalResource" ], "parameters": [ { "in": "path", "name": "id", "required": true, "type": "string", "description": "Identifier of the PhysicalResource" }, { "in": "query", "name": "fields", "required": false, "type": "string", "description": "Comma-separated properties to be provided in response" }, { "in": "query", "name": "expand", "required": false, "type": "string", "description": "Lists the sub-entities to expand along with the depth value. Empty means expand all at depth level N" }, { "in": "query", "name": "depth", "required": false, "type": "string", "description": "Depth level where objects are dereferenced and inserted as values into the response" } ], "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/PhysicalResource" } }, "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": "patchPhysicalResource", "summary": "Updates partially a PhysicalResource", "description": "This operation updates partially a PhysicalResource entity.", "tags": [ "physicalResource" ], "parameters": [ { "in": "path", "name": "id", "required": true, "type": "string", "description": "Identifier of the PhysicalResource" }, { "in": "body", "name": "physicalResource", "required": true, "schema": { "$ref": "#/definitions/PhysicalResource_Update" }, "description": "The PhysicalResource to be updated" } ], "responses": { "200": { "description": "Updated", "schema": { "$ref": "#/definitions/PhysicalResource" } }, "204": { "description": "No Content" }, "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" } }, "422": { "description": "Unprocessable Entity", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } }, "delete": { "operationId": "deletePhysicalResource", "summary": "Deletes a PhysicalResource", "description": "This operation deletes a PhysicalResource entity.", "tags": [ "physicalResource" ], "parameters": [ { "in": "path", "name": "id", "required": true, "type": "string", "description": "Identifier of the PhysicalResource" } ], "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" } } } } }, "/resource": { "get": { "operationId": "listResource", "summary": "List or find Resource objects", "description": "This operation list or find Resource entities", "tags": [ "resource" ], "parameters": [ { "in": "query", "name": "fields", "required": false, "type": "string", "description": "Comma-separated properties to be provided in response" }, { "in": "query", "name": "offset", "required": false, "type": "integer", "description": "Requested index for start of resources to be provided in response" }, { "in": "query", "name": "limit", "required": false, "type": "integer", "description": "Requested number of resources to be provided in response" }, { "in": "query", "name": "sort", "required": false, "type": "string", "description": "To have the output sorted by fields. Can support one or many fields, as well as ascending and descending sort order" }, { "in": "query", "name": "expand", "required": false, "type": "string", "description": "Lists the sub-entities to expand along with the depth value. Empty means expand all at depth level N" }, { "in": "query", "name": "depth", "required": false, "type": "string", "description": "Depth level where objects are dereferenced and inserted as values into the response" } ], "responses": { "200": { "description": "Success", "headers": { "X-Result-Count": { "type": "integer", "description": "Actual number of items returned in the response body" }, "X-Total-Count": { "type": "integer", "description": "Total number of items matching criteria" } }, "schema": { "items": { "$ref": "#/definitions/Resource" }, "type": "array" } }, "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" } } } }, "post": { "operationId": "createResource", "summary": "Creates a Resource", "description": "This operation creates a Resource entity.", "tags": [ "resource" ], "parameters": [ { "in": "body", "name": "resource", "required": true, "schema": { "$ref": "#/definitions/Resource_Create" }, "description": "The Resource to be created" } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/Resource" } }, "202": { "description": "Accepted" }, "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" } }, "422": { "description": "Unprocessable Entity", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/resource/{id}": { "get": { "operationId": "retrieveResource", "summary": "Retrieves a Resource by ID", "description": "This operation retrieves a Resource entity. Attribute selection is enabled for all first level attributes.", "tags": [ "resource" ], "parameters": [ { "in": "path", "name": "id", "required": true, "type": "string", "description": "Identifier of the Resource" }, { "in": "query", "name": "fields", "required": false, "type": "string", "description": "Comma-separated properties to be provided in response" }, { "in": "query", "name": "expand", "required": false, "type": "string", "description": "Lists the sub-entities to expand along with the depth value. Empty means expand all at depth level N" }, { "in": "query", "name": "depth", "required": false, "type": "string", "description": "Depth level where objects are dereferenced and inserted as values into the response" } ], "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/Resource" } }, "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": "patchResource", "summary": "Updates partially a Resource", "description": "This operation updates partially a Resource entity.", "tags": [ "resource" ], "parameters": [ { "in": "path", "name": "id", "required": true, "type": "string", "description": "Identifier of the Resource" }, { "in": "body", "name": "resource", "required": true, "schema": { "$ref": "#/definitions/Resource_Update" }, "description": "The Resource to be updated" } ], "responses": { "200": { "description": "Updated", "schema": { "$ref": "#/definitions/Resource" } }, "204": { "description": "No Content" }, "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" } }, "422": { "description": "Unprocessable Entity", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } }, "delete": { "operationId": "deleteResource", "summary": "Deletes a Resource", "description": "This operation deletes a Resource entity.", "tags": [ "resource" ], "parameters": [ { "in": "path", "name": "id", "required": true, "type": "string", "description": "Identifier of the Resource" } ], "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": [ { "in": "body", "name": "data", "required": true, "schema": { "$ref": "#/definitions/EventSubscriptionInput" }, "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": [ { "in": "path", "name": "id", "required": true, "type": "string", "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/resourceCreateEvent": { "post": { "operationId": "listenToResourceCreateEvent", "summary": "Client listener for entity ResourceCreateEvent", "description": "Example of a client listener for receiving the notification ResourceCreateEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "in": "body", "name": "data", "required": true, "schema": { "$ref": "#/definitions/ResourceCreateEvent" }, "description": "The event data" } ], "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", "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" } } } } }, "/listener/resourceAttributeValueChangeEvent": { "post": { "operationId": "listenToResourceAttributeValueChangeEvent", "summary": "Client listener for entity ResourceAttributeValueChangeEvent", "description": "Example of a client listener for receiving the notification ResourceAttributeValueChangeEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "in": "body", "name": "data", "required": true, "schema": { "$ref": "#/definitions/ResourceAttributeValueChangeEvent" }, "description": "The event data" } ], "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", "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" } } } } }, "/listener/resourceStateChangeEvent": { "post": { "operationId": "listenToResourceStateChangeEvent", "summary": "Client listener for entity ResourceStateChangeEvent", "description": "Example of a client listener for receiving the notification ResourceStateChangeEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "in": "body", "name": "data", "required": true, "schema": { "$ref": "#/definitions/ResourceStateChangeEvent" }, "description": "The event data" } ], "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", "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" } } } } }, "/listener/resourceDeleteEvent": { "post": { "operationId": "listenToResourceDeleteEvent", "summary": "Client listener for entity ResourceDeleteEvent", "description": "Example of a client listener for receiving the notification ResourceDeleteEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "in": "body", "name": "data", "required": true, "schema": { "$ref": "#/definitions/ResourceDeleteEvent" }, "description": "The event data" } ], "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", "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" } } } } }, "/listener/physicalResourceCreateEvent": { "post": { "operationId": "listenToPhysicalResourceCreateEvent", "summary": "Client listener for entity PhysicalResourceCreateEvent", "description": "Example of a client listener for receiving the notification PhysicalResourceCreateEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "in": "body", "name": "data", "required": true, "schema": { "$ref": "#/definitions/PhysicalResourceCreateEvent" }, "description": "The event data" } ], "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", "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" } } } } }, "/listener/physicalResourceAttributeValueChangeEvent": { "post": { "operationId": "listenToPhysicalResourceAttributeValueChangeEvent", "summary": "Client listener for entity PhysicalResourceAttributeValueChangeEvent", "description": "Example of a client listener for receiving the notification PhysicalResourceAttributeValueChangeEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "in": "body", "name": "data", "required": true, "schema": { "$ref": "#/definitions/PhysicalResourceAttributeValueChangeEvent" }, "description": "The event data" } ], "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", "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" } } } } }, "/listener/physicalResourceStateChangeEvent": { "post": { "operationId": "listenToPhysicalResourceStateChangeEvent", "summary": "Client listener for entity PhysicalResourceStateChangeEvent", "description": "Example of a client listener for receiving the notification PhysicalResourceStateChangeEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "in": "body", "name": "data", "required": true, "schema": { "$ref": "#/definitions/PhysicalResourceStateChangeEvent" }, "description": "The event data" } ], "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", "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" } } } } }, "/listener/physicalResourceDeleteEvent": { "post": { "operationId": "listenToPhysicalResourceDeleteEvent", "summary": "Client listener for entity PhysicalResourceDeleteEvent", "description": "Example of a client listener for receiving the notification PhysicalResourceDeleteEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "in": "body", "name": "data", "required": true, "schema": { "$ref": "#/definitions/PhysicalResourceDeleteEvent" }, "description": "The event data" } ], "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", "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" } } } } } }, "definitions": { "Attachment": { "description": "Complements the description of an element (for instance a product) through video, pictures...", "allOf": [ { "$ref": "#/definitions/Entity" }, { "properties": { "id": { "type": "string", "description": "Unique identifier for this particular attachment" }, "href": { "type": "string", "description": "URI for this Attachment" }, "attachmentType": { "type": "string", "description": "Attachment type such as video, picture" }, "content": { "type": "string", "description": "The actual contents of the attachment object, if embedded, encoded as base64" }, "description": { "type": "string", "description": "A narrative text describing the content of the attachment" }, "mimeType": { "type": "string", "description": "Attachment mime type such as extension file for video, picture and document" }, "name": { "type": "string", "description": "The name of the attachment" }, "url": { "type": "string", "description": "Uniform Resource Locator, is a web page address (a subset of URI)" }, "size": { "$ref": "#/definitions/Quantity", "description": "The size of the attachment." }, "validFor": { "$ref": "#/definitions/TimePeriod", "description": "The period of time for which the attachment is valid" } } } ] }, "AttachmentRef": { "description": "Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures", "allOf": [ { "$ref": "#/definitions/EntityRef" }, { "properties": { "description": { "type": "string", "description": "A narrative text describing the content of the attachment" }, "url": { "type": "string", "description": "Link to the attachment media/content" } } } ] }, "AttachmentRefOrValue": { "description": "An attachment by value or by reference. For AttachmentRefOrValue, the attribute type,schemaLocation and referredType are related to the contained entity and not to AttchmentRefOrValue itself", "properties": { "ref": { "$ref": "#/definitions/AttachmentRef", "description": "A reference to the Attachment." }, "value": { "$ref": "#/definitions/Attachment", "description": "The Attachment (as a value)." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "Characteristic": { "discriminator": "@type", "type": "object", "description": "Describes a given characteristic of an object or entity through a name/value pair.", "properties": { "id": { "type": "string", "description": "Unique identifier of the characteristic" }, "name": { "type": "string", "description": "Name of the characteristic" }, "valueType": { "type": "string", "description": "Data type of the value of the characteristic" }, "characteristicRelationship": { "type": "array", "items": { "$ref": "#/definitions/CharacteristicRelationship" } }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class Extensible name" } } }, "CharacteristicRelationship": { "discriminator": "@type", "type": "object", "description": "Another Characteristic that is related to the current Characteristic;", "properties": { "id": { "type": "string", "description": "Unique identifier of the characteristic" }, "relationshipType": { "type": "string", "description": "The type of relationship" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class Extensible name" } } }, "EntityRef": { "description": "Base entityRef schema for use in TMForum Open-APIs", "allOf": [ { "$ref": "#/definitions/Entity" }, { "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } } ] }, "LogicalResource": { "description": "Logic resource is a type of resource that describes the common set of attributes shared by all concrete logical resources (e.g. TPE, MSISDN, IP Addresses) in the inventory.", "allOf": [ { "$ref": "#/definitions/Resource" }, { "properties": { "value": { "type": "string", "description": "the value of the logical resource. E.g '0746712345' for MSISDN's" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } } ] }, "LogicalResource_Create": { "description": "Logic resource is a type of resource that describes the common set of attributes shared by all concrete logical resources (e.g. TPE, MSISDN, IP Addresses) in the inventory.\nSkipped properties: id,href", "allOf": [ { "$ref": "#/definitions/Resource_Create" }, { "properties": { "value": { "type": "string", "description": "the value of the logical resource. E.g '0746712345' for MSISDN's" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } } ] }, "LogicalResource_Update": { "description": "Logic resource is a type of resource that describes the common set of attributes shared by all concrete logical resources (e.g. TPE, MSISDN, IP Addresses) in the inventory.\nSkipped properties: id,href", "allOf": [ { "$ref": "#/definitions/Resource_Update" }, { "properties": { "value": { "type": "string", "description": "the value of the logical resource. E.g '0746712345' for MSISDN's" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } } ] }, "Note": { "description": "Extra information about a given entity", "allOf": [ { "$ref": "#/definitions/Entity" }, { "properties": { "id": { "type": "string", "description": "Identifier of the note within its containing entity (may or may not be globally unique, depending on provider implementation)" }, "author": { "type": "string", "description": "Author of the note" }, "date": { "type": "string", "format": "date-time", "description": "Date of the note" }, "text": { "type": "string", "description": "Text of the note" } } } ] }, "PhysicalResource": { "description": "Physical resource is a type of resource that describes the common set of attributes shared by all concrete physical resources (e.g. EQUIPMENT) in the inventory.", "allOf": [ { "$ref": "#/definitions/Resource" }, { "properties": { "manufactureDate": { "type": "string", "format": "date-time", "description": "This is a string attribute that defines the date of manufacture of this item in the fixed format \"dd/mm/yyyy\". This is an optional attribute." }, "powerState": { "type": "string", "description": "This defines the current power status of the hardware item. Values include:\n\n 0: Unknown\n 1: Not Applicable\n 2: No Power Applied\n 3: Full Power Applied\n 4: Power Save - Normal\n 5: Power Save - Degraded\n 6: Power Save - Standby\n 7: Power Save - Critical\n 8: Power Save - Low Power Mode\n 9: Power Save - Unknown\n 10: Power Cycle\n 11: Power Warning\n 12: Power Off" }, "serialNumber": { "type": "string", "description": "This is a string that represents a manufacturer-allocated number used to identify different instances of the same hardware item. The ModelNumber and PartNumber attributes are used to identify different types of hardware items. This is a REQUIRED attribute." }, "versionNumber": { "type": "string", "description": "This is a string that identifies the version of this physical resource. This is an optional attribute." }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } } ] }, "PhysicalResource_Create": { "description": "Physical resource is a type of resource that describes the common set of attributes shared by all concrete physical resources (e.g. EQUIPMENT) in the inventory.\nSkipped properties: id,href", "allOf": [ { "$ref": "#/definitions/Resource_Create" }, { "properties": { "manufactureDate": { "type": "string", "format": "date-time", "description": "This is a string attribute that defines the date of manufacture of this item in the fixed format \"dd/mm/yyyy\". This is an optional attribute." }, "powerState": { "type": "string", "description": "This defines the current power status of the hardware item. Values include:\n\n 0: Unknown\n 1: Not Applicable\n 2: No Power Applied\n 3: Full Power Applied\n 4: Power Save - Normal\n 5: Power Save - Degraded\n 6: Power Save - Standby\n 7: Power Save - Critical\n 8: Power Save - Low Power Mode\n 9: Power Save - Unknown\n 10: Power Cycle\n 11: Power Warning\n 12: Power Off" }, "serialNumber": { "type": "string", "description": "This is a string that represents a manufacturer-allocated number used to identify different instances of the same hardware item. The ModelNumber and PartNumber attributes are used to identify different types of hardware items. This is a REQUIRED attribute." }, "versionNumber": { "type": "string", "description": "This is a string that identifies the version of this physical resource. This is an optional attribute." }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } } ] }, "PhysicalResource_Update": { "description": "Physical resource is a type of resource that describes the common set of attributes shared by all concrete physical resources (e.g. EQUIPMENT) in the inventory.\nSkipped properties: id,href", "allOf": [ { "$ref": "#/definitions/Resource_Update" }, { "properties": { "manufactureDate": { "type": "string", "format": "date-time", "description": "This is a string attribute that defines the date of manufacture of this item in the fixed format \"dd/mm/yyyy\". This is an optional attribute." }, "powerState": { "type": "string", "description": "This defines the current power status of the hardware item. Values include:\n\n 0: Unknown\n 1: Not Applicable\n 2: No Power Applied\n 3: Full Power Applied\n 4: Power Save - Normal\n 5: Power Save - Degraded\n 6: Power Save - Standby\n 7: Power Save - Critical\n 8: Power Save - Low Power Mode\n 9: Power Save - Unknown\n 10: Power Cycle\n 11: Power Warning\n 12: Power Off" }, "serialNumber": { "type": "string", "description": "This is a string that represents a manufacturer-allocated number used to identify different instances of the same hardware item. The ModelNumber and PartNumber attributes are used to identify different types of hardware items. This is a REQUIRED attribute." }, "versionNumber": { "type": "string", "description": "This is a string that identifies the version of this physical resource. This is an optional attribute." }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } } ] }, "Place": { "description": "Place reference. Place defines the places where the products are sold or delivered.", "allOf": [ { "$ref": "#/definitions/Entity" }, { "properties": { "id": { "type": "string", "description": "Unique identifier of the place" }, "href": { "type": "string", "description": "Unique reference of the place" }, "name": { "type": "string", "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]" } } } ] }, "PlaceRef": { "description": "Place reference. PlaceRef defines the placeRefs where the products are sold or delivered.", "allOf": [ { "$ref": "#/definitions/EntityRef" } ] }, "Quantity": { "type": "object", "description": "An amount in a given unit", "properties": { "amount": { "type": "number", "format": "float", "description": "Numeric value in a given unit", "default": 1.0 }, "units": { "type": "string", "description": "Unit" } } }, "RelatedParty": { "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.", "allOf": [ { "$ref": "#/definitions/Entity" }, { "required": [ "id", "@referredType" ], "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "role": { "type": "string", "description": "Role played by the related party" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } } ] }, "RelatedPlaceRefOrValue": { "description": "Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself", "properties": { "role": { "type": "string" }, "ref": { "$ref": "#/definitions/PlaceRef", "description": "A reference to the Place." }, "value": { "$ref": "#/definitions/Place", "description": "The Place (as a value)." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "Resource": { "description": "Resource is an abstract entity that describes the common set of attributes shared by all concrete resources (e.g. TPE, EQUIPMENT) in the inventory.", "allOf": [ { "$ref": "#/definitions/Entity" }, { "required": [ "id", "href" ], "properties": { "id": { "type": "string", "description": "Identifier of an instance of the resource. Required to be unique within the resource type. Used in URIs as the identifier for specific instances of a type." }, "href": { "type": "string", "description": "The URI for the object itself." }, "category": { "type": "string", "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" }, "description": { "type": "string", "description": "free-text description of the resource" }, "endOperatingDate": { "type": "string", "format": "date-time", "description": "A date time( DateTime). The date till the resource is operating" }, "name": { "type": "string", "description": "A string used to give a name to the resource" }, "resourceVersion": { "type": "string", "description": "A field that identifies the specific version of an instance of a resource." }, "startOperatingDate": { "type": "string", "format": "date-time", "description": "A date time( DateTime). The date from which the resource is operating" }, "administrativeState": { "$ref": "#/definitions/ResourceAdministrativeStateType", "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." }, "attachment": { "type": "array", "items": { "$ref": "#/definitions/AttachmentRefOrValue" } }, "note": { "type": "array", "items": { "$ref": "#/definitions/Note" } }, "operationalState": { "$ref": "#/definitions/ResourceOperationalStateType", "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." }, "place": { "$ref": "#/definitions/RelatedPlaceRefOrValue" }, "relatedParty": { "type": "array", "items": { "$ref": "#/definitions/RelatedParty" } }, "resourceCharacteristic": { "type": "array", "items": { "$ref": "#/definitions/Characteristic" } }, "resourceRelationship": { "type": "array", "items": { "$ref": "#/definitions/ResourceRelationship" } }, "resourceSpecification": { "$ref": "#/definitions/ResourceSpecificationRef" }, "resourceStatus": { "$ref": "#/definitions/ResourceStatusType", "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." }, "usageState": { "$ref": "#/definitions/ResourceUsageStateType", "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." } } } ] }, "Resource_Create": { "description": "Resource is an abstract entity that describes the common set of attributes shared by all concrete resources (e.g. TPE, EQUIPMENT) in the inventory.\nSkipped properties: id,href", "allOf": [ { "$ref": "#/definitions/Entity" }, { "required": [ "name" ], "properties": { "category": { "type": "string", "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" }, "description": { "type": "string", "description": "free-text description of the resource" }, "endOperatingDate": { "type": "string", "format": "date-time", "description": "A date time( DateTime). The date till the resource is operating" }, "name": { "type": "string", "description": "A string used to give a name to the resource" }, "resourceVersion": { "type": "string", "description": "A field that identifies the specific version of an instance of a resource." }, "startOperatingDate": { "type": "string", "format": "date-time", "description": "A date time( DateTime). The date from which the resource is operating" }, "administrativeState": { "$ref": "#/definitions/ResourceAdministrativeStateType", "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." }, "attachment": { "type": "array", "items": { "$ref": "#/definitions/AttachmentRefOrValue" } }, "note": { "type": "array", "items": { "$ref": "#/definitions/Note" } }, "operationalState": { "$ref": "#/definitions/ResourceOperationalStateType", "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." }, "place": { "$ref": "#/definitions/RelatedPlaceRefOrValue" }, "relatedParty": { "type": "array", "items": { "$ref": "#/definitions/RelatedParty" } }, "resourceCharacteristic": { "type": "array", "items": { "$ref": "#/definitions/Characteristic" } }, "resourceRelationship": { "type": "array", "items": { "$ref": "#/definitions/ResourceRelationship" } }, "resourceSpecification": { "$ref": "#/definitions/ResourceSpecificationRef" }, "resourceStatus": { "$ref": "#/definitions/ResourceStatusType", "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." }, "usageState": { "$ref": "#/definitions/ResourceUsageStateType", "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." } } } ] }, "Resource_Update": { "description": "Resource is an abstract entity that describes the common set of attributes shared by all concrete resources (e.g. TPE, EQUIPMENT) in the inventory.\nSkipped properties: id,href", "allOf": [ { "$ref": "#/definitions/Entity" }, { "properties": { "category": { "type": "string", "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" }, "description": { "type": "string", "description": "free-text description of the resource" }, "endOperatingDate": { "type": "string", "format": "date-time", "description": "A date time( DateTime). The date till the resource is operating" }, "name": { "type": "string", "description": "A string used to give a name to the resource" }, "resourceVersion": { "type": "string", "description": "A field that identifies the specific version of an instance of a resource." }, "startOperatingDate": { "type": "string", "format": "date-time", "description": "A date time( DateTime). The date from which the resource is operating" }, "administrativeState": { "$ref": "#/definitions/ResourceAdministrativeStateType", "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." }, "attachment": { "type": "array", "items": { "$ref": "#/definitions/AttachmentRefOrValue" } }, "note": { "type": "array", "items": { "$ref": "#/definitions/Note" } }, "operationalState": { "$ref": "#/definitions/ResourceOperationalStateType", "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." }, "place": { "$ref": "#/definitions/RelatedPlaceRefOrValue" }, "relatedParty": { "type": "array", "items": { "$ref": "#/definitions/RelatedParty" } }, "resourceCharacteristic": { "type": "array", "items": { "$ref": "#/definitions/Characteristic" } }, "resourceRelationship": { "type": "array", "items": { "$ref": "#/definitions/ResourceRelationship" } }, "resourceSpecification": { "$ref": "#/definitions/ResourceSpecificationRef" }, "resourceStatus": { "$ref": "#/definitions/ResourceStatusType", "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." }, "usageState": { "$ref": "#/definitions/ResourceUsageStateType", "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." } } } ] }, "ResourceAdministrativeStateType": { "type": "string", "description": "ResourceAdministrativeStateType enumerations", "enum": [ "locked", "unlocked", "shutdown" ] }, "ResourceOperationalStateType": { "type": "string", "description": "ResourceOperationalStateType enumerations", "enum": [ "enable", "disable" ] }, "ResourceRelationship": { "allOf": [ { "$ref": "#/definitions/Entity" }, { "properties": { "id": { "type": "string", "description": "id of the related resource." }, "href": { "type": "string", "description": "href of the related resource." }, "relationshipType": { "type": "string" }, "resourceRelationshipCharacteristic": { "type": "array", "items": { "$ref": "#/definitions/Characteristic" } } } } ] }, "ResourceSpecificationRef": { "description": "Resource Specification reference: The ResourceSpecification is required to realize a ProductSpecification.", "allOf": [ { "$ref": "#/definitions/EntityRef" }, { "properties": { "version": { "type": "string", "description": "Resource specification version" } } } ] }, "ResourceStatusType": { "type": "string", "description": "ResourceStatusType enumerations", "enum": [ "standby", "alarm", "available", "reserved", "unknown", "suspended" ] }, "ResourceUsageStateType": { "type": "string", "description": "ResourceUsageStateType enumerations", "enum": [ "idle", "active", "busy" ] }, "TimePeriod": { "type": "object", "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both", "properties": { "endDateTime": { "type": "string", "format": "date-time", "description": "End of the time period, using IETC-RFC-3339 format" }, "startDateTime": { "type": "string", "format": "date-time", "description": "Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end" } } }, "EventSubscription": { "type": "object", "description": "Sets the communication endpoint address the service instance must use to deliver notification information", "required": [ "id", "callback" ], "properties": { "id": { "type": "string", "description": "Id of the listener" }, "callback": { "type": "string", "description": "The callback being registered." }, "query": { "type": "string", "description": "additional data to be passed" } } }, "EventSubscriptionInput": { "type": "object", "description": "Sets the communication endpoint address the service instance must use to deliver notification information", "required": [ "callback" ], "properties": { "callback": { "type": "string", "description": "The callback being registered." }, "query": { "type": "string", "description": "additional data to be passed" } } }, "ResourceCreateEvent": { "description": "The notification data structure", "allOf": [ { "$ref": "#/definitions/Event" }, { "properties": { "event": { "$ref": "#/definitions/ResourceCreateEventPayload", "description": "The event payload linked to the involved resource object" } } } ] }, "ResourceCreateEventPayload": { "type": "object", "description": "The event data structure", "properties": { "resource": { "$ref": "#/definitions/Resource", "description": "The involved resource data for the event" } } }, "ResourceAttributeValueChangeEvent": { "description": "The notification data structure", "allOf": [ { "$ref": "#/definitions/Event" }, { "properties": { "fieldPath": { "type": "string", "description": "The path identifying the object field concerned by this notification." }, "event": { "$ref": "#/definitions/ResourceAttributeValueChangeEventPayload", "description": "The event payload linked to the involved resource object" } } } ] }, "ResourceAttributeValueChangeEventPayload": { "type": "object", "description": "The event data structure", "properties": { "resource": { "$ref": "#/definitions/Resource", "description": "The involved resource data for the event" } } }, "ResourceStateChangeEvent": { "description": "The notification data structure", "allOf": [ { "$ref": "#/definitions/Event" }, { "properties": { "event": { "$ref": "#/definitions/ResourceStateChangeEventPayload", "description": "The event payload linked to the involved resource object" } } } ] }, "ResourceStateChangeEventPayload": { "type": "object", "description": "The event data structure", "properties": { "resource": { "$ref": "#/definitions/Resource", "description": "The involved resource data for the event" } } }, "ResourceDeleteEvent": { "description": "The notification data structure", "allOf": [ { "$ref": "#/definitions/Event" }, { "properties": { "event": { "$ref": "#/definitions/ResourceDeleteEventPayload", "description": "The event payload linked to the involved resource object" } } } ] }, "ResourceDeleteEventPayload": { "type": "object", "description": "The event data structure", "properties": { "resource": { "$ref": "#/definitions/Resource", "description": "The involved resource data for the event" } } }, "PhysicalResourceCreateEvent": { "description": "The notification data structure", "allOf": [ { "$ref": "#/definitions/Event" }, { "properties": { "event": { "$ref": "#/definitions/PhysicalResourceCreateEventPayload", "description": "The event payload linked to the involved resource object" } } } ] }, "PhysicalResourceCreateEventPayload": { "type": "object", "description": "The event data structure", "properties": { "physicalResource": { "$ref": "#/definitions/PhysicalResource", "description": "The involved resource data for the event" } } }, "PhysicalResourceAttributeValueChangeEvent": { "description": "The notification data structure", "allOf": [ { "$ref": "#/definitions/Event" }, { "properties": { "fieldPath": { "type": "string", "description": "The path identifying the object field concerned by this notification." }, "event": { "$ref": "#/definitions/PhysicalResourceAttributeValueChangeEventPayload", "description": "The event payload linked to the involved resource object" } } } ] }, "PhysicalResourceAttributeValueChangeEventPayload": { "type": "object", "description": "The event data structure", "properties": { "physicalResource": { "$ref": "#/definitions/PhysicalResource", "description": "The involved resource data for the event" } } }, "PhysicalResourceStateChangeEvent": { "description": "The notification data structure", "allOf": [ { "$ref": "#/definitions/Event" }, { "properties": { "event": { "$ref": "#/definitions/PhysicalResourceStateChangeEventPayload", "description": "The event payload linked to the involved resource object" } } } ] }, "PhysicalResourceStateChangeEventPayload": { "type": "object", "description": "The event data structure", "properties": { "physicalResource": { "$ref": "#/definitions/PhysicalResource", "description": "The involved resource data for the event" } } }, "PhysicalResourceDeleteEvent": { "description": "The notification data structure", "allOf": [ { "$ref": "#/definitions/Event" }, { "properties": { "event": { "$ref": "#/definitions/PhysicalResourceDeleteEventPayload", "description": "The event payload linked to the involved resource object" } } } ] }, "PhysicalResourceDeleteEventPayload": { "type": "object", "description": "The event data structure", "properties": { "physicalResource": { "$ref": "#/definitions/PhysicalResource", "description": "The involved resource data for the event" } } }, "Error": { "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)", "allOf": [ { "$ref": "#/definitions/Entity" }, { "required": [ "code", "reason" ], "properties": { "code": { "type": "string", "description": "Application relevant detail, defined in the API or a common list." }, "reason": { "type": "string", "description": "Explanation of the reason for the error which can be shown to a client user." }, "message": { "type": "string", "description": "More details and corrective actions related to the error which can be shown to a client user." }, "status": { "type": "string", "description": "HTTP Error code extension" }, "referenceError": { "type": "string", "format": "uri", "description": "URI of documentation describing the error." } } } ] }, "BellErrorRepresentation": { "description": "Bell specialized version of the TMF Error. Used to store the native error representation", "allOf": [ { "$ref": "#/definitions/Error" }, { "properties": { "causedBy": { "type": "object", "description": "Error cause. May be an Error with custom fields or a list of errors (BellErrorList).", "additionalProperties": { "type": "object" } }, "timestamp": { "type": "string", "format": "date-time", "description": "Timestamp when the error is caught, as viewed by the issuer of the error, in ISO 8601 format" }, "jsonPath": { "type": "string", "description": "Json path expression associated to the field for which the error is reported. Typically used with validation errors." } } } ] }, "BellGenericResource": { "description": "Bell version of the TMF Resource", "allOf": [ { "$ref": "#/definitions/Resource" }, { "properties": { "sourceSystemId": { "type": "string", "description": "Id of the external system where the Resource is defined. Not to confuse with the id in that system (externalId)" }, "externalId": { "type": "string", "description": "Additional identifier coming from an external system" }, "resourceType": { "$ref": "#/definitions/BellResourceType", "description": "Allow for the differentiation of physical and logical resource when the information is known." }, "manufactureDate": { "type": "string", "format": "date-time", "description": "This is a string attribute that defines the date of manufacture of this item in the fixed format \"dd/mm/yyyy\". This is an optional attribute." }, "powerState": { "type": "string", "description": "This defines the current power status of the hardware item. Values include:\n\n 0: Unknown\n 1: Not Applicable\n 2: No Power Applied\n 3: Full Power Applied\n 4: Power Save - Normal\n 5: Power Save - Degraded\n 6: Power Save - Standby\n 7: Power Save - Critical\n 8: Power Save - Low Power Mode\n 9: Power Save - Unknown\n 10: Power Cycle\n 11: Power Warning\n 12: Power Off" }, "serialNumber": { "type": "string", "description": "This is a string that represents a manufacturer-allocated number used to identify different instances of the same hardware item. The ModelNumber and PartNumber attributes are used to identify different types of hardware items. This is a REQUIRED attribute." }, "versionNumber": { "type": "string", "description": "This is a string that identifies the version of this physical resource. This is an optional attribute." }, "lastUpdate": { "type": "string", "format": "date-time", "description": "The date and time that the resource was last updated" } } } ] }, "BellGenericResource_Create": { "description": "Bell version of the TMF Resource_Create", "allOf": [ { "$ref": "#/definitions/Resource_Create" }, { "properties": { "id": { "type": "string", "description": "Unique identifier of the Resource" }, "manufactureDate": { "type": "string", "format": "date-time", "description": "This is a string attribute that defines the date of manufacture of this item in the fixed format \"dd/mm/yyyy\". This is an optional attribute." }, "powerState": { "type": "string", "description": "This defines the current power status of the hardware item. Values include:\n\n 0: Unknown\n 1: Not Applicable\n 2: No Power Applied\n 3: Full Power Applied\n 4: Power Save - Normal\n 5: Power Save - Degraded\n 6: Power Save - Standby\n 7: Power Save - Critical\n 8: Power Save - Low Power Mode\n 9: Power Save - Unknown\n 10: Power Cycle\n 11: Power Warning\n 12: Power Off" }, "serialNumber": { "type": "string", "description": "This is a string that represents a manufacturer-allocated number used to identify different instances of the same hardware item. The ModelNumber and PartNumber attributes are used to identify different types of hardware items. This is a REQUIRED attribute." }, "versionNumber": { "type": "string", "description": "This is a string that identifies the version of this physical resource. This is an optional attribute." }, "lastUpdate": { "type": "string", "format": "date-time", "description": "The date and time that the resource was last updated" } } } ] }, "BellGenericResource_Update": { "description": "Bell version of the TMF Resource", "allOf": [ { "$ref": "#/definitions/Resource_Update" }, { "properties": { "manufactureDate": { "type": "string", "format": "date-time", "description": "This is a string attribute that defines the date of manufacture of this item in the fixed format \"dd/mm/yyyy\". This is an optional attribute." }, "powerState": { "type": "string", "description": "This defines the current power status of the hardware item. Values include:\n\n 0: Unknown\n 1: Not Applicable\n 2: No Power Applied\n 3: Full Power Applied\n 4: Power Save - Normal\n 5: Power Save - Degraded\n 6: Power Save - Standby\n 7: Power Save - Critical\n 8: Power Save - Low Power Mode\n 9: Power Save - Unknown\n 10: Power Cycle\n 11: Power Warning\n 12: Power Off" }, "serialNumber": { "type": "string", "description": "This is a string that represents a manufacturer-allocated number used to identify different instances of the same hardware item. The ModelNumber and PartNumber attributes are used to identify different types of hardware items. This is a REQUIRED attribute." }, "versionNumber": { "type": "string", "description": "This is a string that identifies the version of this physical resource. This is an optional attribute." }, "lastUpdate": { "type": "string", "format": "date-time", "description": "The date and time that the resource was last updated" } } } ] }, "BellResourceType": { "type": "string", "description": "Allow for the differentiation of physical and logical resource when the information is known.", "enum": [ "physical", "logical" ] }, "BellRelatedPartyWithValue": { "description": "Related Entity reference embedding the party itself (value of the refOrValue pattern)", "allOf": [ { "$ref": "#/definitions/RelatedParty" }, { "properties": { "value": { "$ref": "#/definitions/Party" } } } ] }, "Party": { "description": "Generic Party structure used to define commonalities between sub concepts of Individual and Organization.", "allOf": [ { "$ref": "#/definitions/Entity" }, { "properties": { "id": { "type": "string", "description": "Unique identifier of the organization" }, "href": { "type": "string", "description": "Hyperlink to access the organization" }, "contactMedium": { "type": "array", "items": { "$ref": "#/definitions/ContactMedium" } }, "partyCharacteristic": { "type": "array", "items": { "$ref": "#/definitions/Characteristic" } } } } ] }, "Individual": { "description": "Individual represents a single human being (a man, woman or child). The individual can be a customer, an employee or any other person that the organization needs to store information about.", "allOf": [ { "$ref": "#/definitions/Party" }, { "properties": { "familyName": { "type": "string", "description": "Contains the non-chosen or inherited name. Also known as last name in the Western context" }, "formattedName": { "type": "string", "description": "A fully formatted name in one string with all of its pieces in their proper place and all of the necessary punctuation. Useful for specific contexts (Chinese, Japanese, Korean,\u2026)" }, "fullName": { "type": "string", "description": "Full name flatten (first, middle, and last names)" }, "gender": { "type": "string", "description": "Gender" }, "givenName": { "type": "string", "description": "First name of the individual" }, "middleName": { "type": "string", "description": "Middles name or initial" }, "title": { "type": "string", "description": "Useful for titles (aristocratic, social,...) Pr, Dr, Sir, ..." }, "languageAbility": { "type": "array", "items": { "$ref": "#/definitions/LanguageAbility" } } } } ] }, "BellIndividual": { "description": "A Bell extension to an Individual", "allOf": [ { "$ref": "#/definitions/Individual" }, { "properties": { "externalId": { "type": "string", "description": "Additional identifier coming from an external system" }, "sourceSystemId": { "type": "string", "description": "Id of the external system where the individual is defined. Not to confuse with the number of an individual in that system (externalId)" } } } ] }, "Organization": { "description": "Organization represents a group of people identified by shared interests or purpose. Examples include business, department and enterprise. Because of the complex nature of many businesses, both organizations and organization units are represented by the same data.", "allOf": [ { "$ref": "#/definitions/Party" }, { "properties": { "isHeadOffice": { "type": "boolean", "description": "If value is true, the organization is the head office" }, "isLegalEntity": { "type": "boolean", "description": "If value is true, the organization is a legal entity known by a national referential." }, "name": { "type": "string", "description": "Organization name (department name for example)" }, "nameType": { "type": "string", "description": "Type of the name : Co, Inc, Ltd,\u2026" }, "organizationType": { "type": "string", "description": "Type of Organization (company, department...)" } } } ] }, "BellOrganization": { "description": "A Bell extension to an Organization", "allOf": [ { "$ref": "#/definitions/Organization" }, { "properties": { "externalId": { "type": "string", "description": "Additional identifier coming from an external system" }, "sourceSystemId": { "type": "string", "description": "Id of the external system where the organization is defined. Not to confuse with the number of a organization in that system (externalId)" } } } ] }, "ContactMedium": { "description": "Indicates the contact medium that could be used to contact the party.", "allOf": [ { "$ref": "#/definitions/Entity" }, { "properties": { "mediumType": { "type": "string", "description": "Type of the contact medium, such as: email address, telephone number, postal address" }, "preferred": { "type": "boolean", "description": "If true, indicates that is the preferred contact medium" }, "characteristic": { "$ref": "#/definitions/MediumCharacteristic", "description": "Any additional characteristic(s) of this contact medium" }, "validFor": { "$ref": "#/definitions/TimePeriod", "description": "The time period that the contact medium is valid for" } } } ] }, "LanguageAbility": { "description": "Ability of an individual to understand or converse in a language.", "allOf": [ { "$ref": "#/definitions/Entity" }, { "properties": { "isFavouriteLanguage": { "type": "boolean", "description": "A \u201Ctrue\u201D value specifies whether the language is considered by the individual as his favourite one" }, "languageCode": { "type": "string", "description": "Language code (RFC 5646)" }, "languageName": { "type": "string", "description": "Language name" }, "listeningProficiency": { "type": "string", "description": "Listening proficiency evaluated for this language" }, "readingProficiency": { "type": "string", "description": "Reading proficiency evaluated for this language" }, "speakingProficiency": { "type": "string", "description": "Speaking proficiency evaluated for this language" }, "writingProficiency": { "type": "string", "description": "Writing proficiency evaluated for this language" }, "validFor": { "$ref": "#/definitions/TimePeriod" } } } ] }, "MediumCharacteristic": { "description": "Describes the contact medium characteristics that could be used to contact a party (an individual or an organization)", "allOf": [ { "$ref": "#/definitions/Entity" }, { "properties": { "city": { "type": "string", "description": "The city" }, "contactType": { "type": "string", "description": "The type of contact, for example: phone number such as mobile, fixed home, fixed office. postal address such as shipping instalation\u2026" }, "country": { "type": "string", "description": "The country" }, "emailAddress": { "type": "string", "description": "Full email address in standard format" }, "faxNumber": { "type": "string", "description": "The fax number of the contact" }, "phoneNumber": { "type": "string", "description": "The primary phone number of the contact" }, "postCode": { "type": "string", "description": "Postcode" }, "socialNetworkId": { "type": "string", "description": "Identifier as a member of a social network" }, "stateOrProvince": { "type": "string", "description": "State or province" }, "street1": { "type": "string", "description": "Describes the street" }, "street2": { "type": "string", "description": "Complementary street description" } } } ] }, "GeographicAddress": { "description": "Structured textual way of describing how to find a Property in an urban area (country properties are often defined differently).\nNote : Address corresponds to SID UrbanPropertyAddress", "allOf": [ { "$ref": "#/definitions/Place" }, { "properties": { "city": { "type": "string", "description": "City that the address is in" }, "country": { "type": "string", "description": "Country that the address is in" }, "locality": { "type": "string", "description": "An area of defined or undefined boundaries within a local authority or other legislatively defined area, usually rural or semi rural in nature. [ANZLIC-STREET], or a suburb, a bounded locality within a city, town or shire principally of urban character [ANZLICSTREET]" }, "postcode": { "type": "string", "description": "descriptor for a postal delivery area, used to speed and simplify the delivery of mail (also know as zipcode)" }, "stateOrProvince": { "type": "string", "description": "the State or Province that the address is in" }, "streetName": { "type": "string", "description": "Name of the street or other street type" }, "streetNr": { "type": "string", "description": "Number identifying a specific property on a public street. It may be combined with streetNrLast for ranged addresses" }, "streetNrLast": { "type": "string", "description": "Last number in a range of street numbers allocated to a property" }, "streetNrLastSuffix": { "type": "string", "description": "Last street number suffix for a ranged address" }, "streetNrSuffix": { "type": "string", "description": "the first street number suffix" }, "streetSuffix": { "type": "string", "description": "A modifier denoting a relative direction" }, "streetType": { "type": "string", "description": "alley, avenue, boulevard, brae, crescent, drive, highway, lane, terrace, parade, place, tarn, way, wharf " }, "geographicLocation": { "$ref": "#/definitions/GeographicLocationRefOrValue" }, "geographicSubAddress": { "type": "array", "items": { "$ref": "#/definitions/GeographicSubAddress" } } } } ] }, "GeographicLocationRefOrValue": { "description": "A GeographicLocation is a pure-virtual super-class to the GeoJSON-aligned geometries of Point (addresses and locations), MultiPoint, LineString (streets, highways and boundaries), MultiLineString and Polygon (countries, provinces, tracts of land). Use the @type attribute to specify which of these is being specified by the geometry attribute.", "properties": { "ref": { "$ref": "#/definitions/GeographicLocationRef", "description": "A reference to the GeographicLocation." }, "value": { "$ref": "#/definitions/GeographicLocation", "description": "The GeographicLocation (as a value)." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "GeographicLocationRef": { "allOf": [ { "$ref": "#/definitions/EntityRef" } ] }, "GeographicLocation": { "description": "A GeographicLocation is a pure-virtual super-class to the GeoJSON-aligned geometries of Point (addresses and locations), MultiPoint, LineString (streets, highways and boundaries), MultiLineString and Polygon (countries, provinces, tracts of land). Use the @type attribute to specify which of these is being specified by the geometry attribute.", "allOf": [ { "$ref": "#/definitions/Entity" }, { "properties": { "id": { "type": "string", "description": "Unique identifier of the geographic location" }, "href": { "type": "string", "description": "An URI used to access to the geographic location resource" }, "bbox": { "description": "A bounding box array that contains the geometry. The axes order follows the axes order of the geometry", "type": "array", "items": { "type": "number" } } } } ] }, "GeographicSubAddress": { "description": "Representation of a GeographicSubAddress \nIt is used for addressing within a property in an urban area (country properties are often defined differently). It may refer to a building, a building cluster, or a floor of a multistory building.", "allOf": [ { "$ref": "#/definitions/Entity" }, { "properties": { "id": { "type": "string", "description": "Unique Identifier of the subAddress" }, "href": { "type": "string", "description": "Link to the subAddress" }, "buildingName": { "type": "string", "description": "allows for buildings that have well-known names" }, "levelNumber": { "type": "string", "description": "used where a level type may be repeated e.g. BASEMENT 1, BASEMENT 2" }, "levelType": { "type": "string", "description": "describes level types within a building" }, "name": { "type": "string", "description": "Name of the subAddress to identify it with a meaningful identification" }, "privateStreetName": { "type": "string", "description": "private streets internal to a property (e.g. a university) may have internal names that are not recorded by the land title office." }, "privateStreetNumber": { "type": "string", "description": "private streets numbers internal to a private street" }, "subAddressType": { "type": "string", "description": "Type of subAddress : it can be a subunit or a private street" }, "subUnitNumber": { "type": "string", "description": "the discriminator used for the subunit\noften just a simple number e.g. FLAT 5, may also be a range" }, "subUnitType": { "type": "string", "description": "the type of subunit\ne.g.BERTH, FLAT, PIER, SUITE, SHOP, TOWER, UNIT, WHARF" } } } ] }, "BellGeographicAddress": { "description": "A custom Geographic Address to add addressLines.", "allOf": [ { "$ref": "#/definitions/GeographicAddress" }, { "properties": { "addressLine": { "type": "string", "description": "Free form address line containing multiple fields of the address. This field could be use if the address is not well divided into the other fields" }, "addressLine2": { "type": "string", "description": "Second free form address line containing multiple fields of the address. This field could be use if the address is not well divided into the other fields" }, "validated": { "type": "boolean", "description": "Indicator that the address has been validated", "default": false } } } ] }, "BellOnSiteSubAddress": { "description": "A custom SubAddress. Note: type, externalId, sourceSystemId are deprecated.", "allOf": [ { "$ref": "#/definitions/GeographicSubAddress" }, { "properties": { "description": { "type": "string", "description": "A textual description of the subAddress" }, "tag": { "type": "array", "items": { "type": "string" } } } } ] }, "GeographicSite": { "allOf": [ { "$ref": "#/definitions/Place" }, { "properties": { "code": { "type": "string", "description": "A code that may be used for some addressing schemes eg: [ANSI T1.253-1999]" }, "description": { "type": "string", "description": "Text describing additional information regarding the site" }, "status": { "type": "string", "description": "The condition of the GeographicSite, such as planned, underConstruction, cancelled, active, inactive, former" }, "place": { "type": "array", "items": { "$ref": "#/definitions/PlaceRefOrValue" } }, "relatedParty": { "type": "array", "items": { "$ref": "#/definitions/RelatedParty" } } } } ] }, "PlaceRefOrValue": { "description": "A place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and not the PlaceRefOrValue class itself", "properties": { "ref": { "$ref": "#/definitions/PlaceRef", "description": "A reference to the Place." }, "value": { "$ref": "#/definitions/Place", "description": "The Place (as a value)." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "BellGeographicSite": { "description": "A Bell extension to a Geographic Site.", "allOf": [ { "$ref": "#/definitions/GeographicSite" }, { "properties": { "externalId": { "type": "string", "description": "Additional identifier coming from an external system" }, "sourceSystemId": { "type": "string", "description": "Id of the external system. Not to confuse with the id of the resource in that system (externalId)" }, "siteType": { "type": "string", "description": "Type of the site. enumeration: singleFamilyUnit, multiDwellingUnit" }, "centralOfficeCLLI": { "type": "string", "description": "Central office Common Language Location Identifier Code (CLLI)" }, "SAID": { "type": "string", "description": "Service address ID (SAID)" }, "tag": { "type": "array", "items": { "type": "string" } }, "externalReference": { "type": "array", "items": { "$ref": "#/definitions/ExternalReference" } }, "siteCharacteristic": { "description": "A list of characteristics that characterize this site (siteCharacteristic [*]) ", "type": "array", "items": { "$ref": "#/definitions/Characteristic" } } } } ] }, "ExternalReference": { "description": "External reference of the individual or reference in other system", "allOf": [ { "$ref": "#/definitions/Entity" }, { "properties": { "externalReferenceType": { "type": "string", "description": "Type of the external reference" }, "name": { "type": "string", "description": "External reference name" } } } ] }, "BellExternalReference": { "description": "Describes a given characteristic of an object or entity through a name/value pair.", "allOf": [ { "$ref": "#/definitions/ExternalReference" }, { "properties": { "externalId": { "type": "string", "description": "Additional identifier coming from an external system" }, "sourceSystemId": { "type": "string", "description": "Id of the external system where the external reference is defined. Not to confuse with the number of an extenal reference in that system (externalId)" }, "preferred": { "type": "boolean", "description": "If true, indicates that it is the preferred external reference in a given source system" } } } ] }, "JsonPathPatchOperation": { "type": "object", "description": "A JsonPath operation to be applied to a json element", "required": [ "op" ], "properties": { "id": { "type": "string", "description": "Unique identifier of the operation. This identifier is optional. This field is used to relate a response to each operation. In the case of tasks, we need to process each operation individually, so we need to identify each operation with a unique id and associate it their respective response." }, "op": { "type": "string", "description": "The operation to be performed on the related object.", "enum": [ "add", "remove", "replace" ] }, "jsonPath": { "type": "string", "description": "A JSONPath expression" }, "value": { "type": "object", "description": "The value to be used within the operations." } } }, "StringCharacteristic": { "description": "Standard TMF string characteristic. Describes a given characteristic of an object or entity through a name/value pair.", "allOf": [ { "$ref": "#/definitions/Characteristic" }, { "properties": { "value": { "type": "string", "description": "Value of the characteristic" } } } ] }, "BooleanCharacteristic": { "description": "Standard TMF boolean characteristic. Describes a given characteristic of an object or entity through a name/value pair.", "allOf": [ { "$ref": "#/definitions/Characteristic" }, { "properties": { "value": { "type": "boolean", "description": "Value of the characteristic" } } } ] }, "FloatCharacteristic": { "description": "Standard TMF float characteristic. Describes a given characteristic of an object or entity through a name/value pair.", "allOf": [ { "$ref": "#/definitions/Characteristic" }, { "properties": { "value": { "type": "number", "format": "float", "description": "Value of the characteristic" } } } ] }, "IntegerCharacteristic": { "description": "Standard TMF integer characteristic. Describes a given characteristic of an object or entity through a name/value pair.", "allOf": [ { "$ref": "#/definitions/Characteristic" }, { "properties": { "value": { "type": "integer", "format": "int32", "description": "Value of the characteristic" } } } ] }, "DateTimeCharacteristic": { "description": "Standard TMF datetime characteristic. Describes a given characteristic of an object or entity through a name/value pair.", "allOf": [ { "$ref": "#/definitions/Characteristic" }, { "properties": { "value": { "type": "string", "format": "date-time", "description": "Value of the characteristic" } } } ] }, "ObjectCharacteristic": { "description": "Standard TMF object characteristic. Describes a given characteristic of an object or entity through a name/value pair.", "allOf": [ { "$ref": "#/definitions/Characteristic" }, { "properties": { "value": { "type": "object", "description": "Value of the characteristic", "additionalProperties": { "type": "object" } } } } ] }, "ObjectArrayCharacteristic": { "description": "Standard TMF objectarray characteristic. Describes a given characteristic of an object or entity through a name/value pair.", "allOf": [ { "$ref": "#/definitions/Characteristic" }, { "properties": { "value": { "description": "Value of the characteristic", "type": "array", "items": { "type": "object", "additionalProperties": { "type": "object" } } } } } ] }, "StringArrayCharacteristic": { "description": "Standard TMF stringarray characteristic. Describes a given characteristic of an object or entity through a name/value pair.", "allOf": [ { "$ref": "#/definitions/Characteristic" }, { "properties": { "value": { "description": "Value of the characteristic", "type": "array", "items": { "type": "string" } } } } ] }, "GroupCharacteristic": { "description": "Standard TMF group characteristic. Describes a given characteristic of an object or entity through a name/value pair.", "allOf": [ { "$ref": "#/definitions/Characteristic" }, { "properties": { "value": { "description": "Value of the characteristic", "type": "array", "items": { "$ref": "#/definitions/Characteristic" } } } } ] }, "Entity": { "discriminator": "@type", "description": "Base entity schema for use in TMForum Open-APIs", "properties": { "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" } } }, "Event": { "description": "Event with common fields. This is an abstract base definition for all events that are produced by TMF APIs. It must be used as a template for specific events. These specific event definitions must also define an event field, typed with the specific payload for that event", "allOf": [ { "$ref": "#/definitions/Entity" }, { "properties": { "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time", "description": "Time of the event occurrence." }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explanatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOccurred": { "type": "string", "format": "date-time", "description": "The time the event occurred." }, "source": { "$ref": "#/definitions/EntityRef", "description": "Source Entity described by EntityRef" }, "reportingSystem": { "$ref": "#/definitions/EntityRef", "description": "Reporting System described by EntityRef" }, "relatedParty": { "type": "array", "items": { "$ref": "#/definitions/RelatedParty" } }, "analyticCharacteristic": { "type": "array", "items": { "$ref": "#/definitions/Characteristic" } } } } ] } } }