{ "swagger": "2.0", "info": { "description": "TMF638 Service Inventory Management", "version": "2.0.0", "title": "Service Inventory Management" }, "basePath": "/serviceInventoryManagement/v2/", "schemes": [ "http", "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ { "name": "service" }, { "name": "eventsSubscription" } ], "paths": { "/service": { "post": { "tags": [ "service" ], "parameters": [ { "name": "Service", "required": true, "in": "body", "description": "", "schema": { "$ref": "#/definitions/Service" } } ], "operationId": "serviceCreate", "description": "serviceCreate", "deprecated": false, "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/Service" } }, "400": { "description": "Bad Request" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } }, "get": { "tags": [ "service" ], "parameters": [], "operationId": "serviceFind", "summary": "List all service entites", "deprecated": false, "responses": { "200": { "description": "Success", "schema": { "type": "array", "items": { "$ref": "#/definitions/Service" } } }, "400": { "description": "Bad Request" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } } }, "/service/{id}": { "get": { "tags": [ "service" ], "parameters": [ { "name": "id", "in": "path", "required": true, "type": "string", "description": "" } ], "operationId": "serviceGet", "summary": "This operation lists a individual service entity", "deprecated": false, "responses": { "200": { "description": "Success", "schema": { "type": "array", "items": { "$ref": "#/definitions/Service" } } }, "400": { "description": "Bad Request" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } }, "patch": { "tags": [ "service" ], "parameters": [ { "name": "id", "in": "path", "required": true, "type": "string", "description": "" }, { "name": "Service", "required": true, "in": "body", "description": "", "schema": { "$ref": "#/definitions/Service" } } ], "operationId": "servicePatch", "summary": "Patch a individual service entity", "deprecated": false, "responses": { "200": { "description": "Success", "schema": { "type": "array", "items": { "$ref": "#/definitions/Service" } } }, "400": { "description": "Bad Request" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } }, "delete": { "tags": [ "service" ], "parameters": [ { "name": "id", "in": "path", "required": true, "type": "string", "description": "" } ], "operationId": "serviceDelete", "summary": "Delete a individual service entity", "deprecated": false, "responses": { "204": { "description": "Success" }, "400": { "description": "Bad Request" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } } }, "/hub": { "post": { "tags": [ "eventsSubscription" ], "operationId": "registerSubscriber", "summary": "Register a subscriber", "deprecated": false, "parameters": [ { "name": "data", "schema": { "$ref": "#/definitions/EventSubscriptionInput" }, "required": true, "in": "body", "description": "Data containing the callback endpoint to deliver the information" } ], "responses": { "201": { "description": "Created" }, "400": { "description": "Bad Request" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } } }, "/hub/{id}": { "delete": { "tags": [ "eventsSubscription" ], "parameters": [ { "name": "id", "in": "path", "required": true, "type": "string", "description": "identity of the subscriber" } ], "operationId": "deleteSubscriber", "summary": "This operation deletes a 'subscriber' by Id", "deprecated": false, "responses": { "204": { "description": "Success" }, "400": { "description": "Bad Request" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } } } }, "definitions": { "Service": { "description": "Service is an abstract base class for defining the Service hierarchy.", "type": "object", "properties": { "id": { "description": "Unique identifier of the service", "type": "string" }, "href": { "description": "Reference of the service", "type": "string" }, "type": { "description": "Service type", "type": "string" }, "name": { "description": "Name of the service", "type": "string" }, "@type": { "description": "", "type": "string" }, "@baseType": { "description": "", "type": "string" }, "@schemaLocation": { "description": "", "type": "string" }, "state": { "$ref": "#/definitions/stateValues" }, "isServiceEnabled": { "description": "", "type": "boolean" }, "product": { "type": "string" }, "productOffering": { "type": "string" }, "serviceCharacteristic": { "type": "array", "items": { "$ref": "#/definitions/ServiceCharacteristic" } } } }, "stateValues": { "description": "", "type": "string", "enum": [ "feasibilityChecked", "designed", "reserved", "inactive", "active", "terminated" ] }, "ServiceCharacteristic": { "description": "A list of name value pairs that define the service characteristics", "required": [ "name" ], "type": "object", "properties": { "name": { "description": "Name of the characteristic", "type": "string" }, "value": { "$ref": "#/definitions/Value" } } }, "Value": { "description": "Structure used to describe characteristic value", "type": "object", "properties": { "@type": { "description": "", "type": "string" }, "@schemaLocation": { "description": "", "type": "string" } } }, "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" } } } } }