Swagger Spec for Message BAnk DM
{
"swagger": "2.0",
"info": {
"description": "MessageBank DM is a domain manager API involved in the provisioning of a NBN Message Bank service. Its purpose is to initiate and manage a workflow of steps to create a Message Bank Service for Voice enabled Customers.\n",
"version": "1.0.0",
"title": "Message Bank Domain Manager API",
"termsOfService": "https://dev.telstra.com/legal",
"contact": {
"name": "# NBN+ Fulfilment Teams <D1118152@team.telstra.com>"
}
},
"externalDocs": {
"description": "MessageBank DM IA",
"url": "https://wiki.ae.sda.corp.telstra.com/display/Simplicity/GC-7256%3A+AM-SHARED+Solution"
},
"host": "api.in.telstra.com.au",
"basePath": "/messagebank-dm/v1/domain-services",
"schemes": [
"http"
],
"paths": {
"/messagebank": {
"post": {
"tags": [
"Message Bank Request"
],
"summary": "Create a new Message Bank Service for voice customers",
"operationId": "createMessageBank",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "request",
"in": "body",
"description": "Request body",
"required": true,
"schema": {
"$ref": "#/definitions/MessageBankDMRequest"
}
}
],
"responses": {
"202": {
"description": "Operation Accepted",
"schema": {
"$ref": "#/definitions/MessageBankDMAcceptedResponse"
}
},
"403": {
"description": "Forbidden/Unauthorised",
"schema": {
"$ref": "#/definitions/403Error"
}
},
"404": {
"description": "URI Unavailable/Resource Not Found",
"schema": {
"$ref": "#/definitions/404Error"
}
},
"409": {
"description": "The Service is not in a state that supports this Operation e.g. Already exists",
"schema": {
"$ref": "#/definitions/409Error"
}
},
"422": {
"description": "Invalid Parameter Input",
"schema": {
"$ref": "#/definitions/422Error"
}
},
"503": {
"description": "General error.",
"schema": {
"$ref": "#/definitions/503Error"
}
}
},
"security": [
{
"okapi_oauth": [
"DOMAINMANAGERS"
]
}
]
}
},
"/messagebank/dsi/{tenant}/{serviceInstanceId}": {
"get": {
"tags": [
"Get Service Inventory"
],
"summary": "Get Service Inventory by ServiceInstanceId",
"operationId": "getServiceInventory",
"produces": [
"application/json"
],
"parameters": [
{
"name": "tenant",
"in": "path",
"description": "tenant",
"type": "string",
"required": true
},
{
"name": "serviceInstanceId",
"in": "path",
"description": "ServiceInstanceId",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "Successful request",
"schema": {
"$ref": "#/definitions/GetServiceInventoryResponse"
}
},
"401": {
"description": "A valid Oauth2.0 access token was not presented to the Messagebank dm service.",
"schema": {
"$ref": "#/definitions/401Error"
}
},
"403": {
"description": "Forbidden/Unauthorised",
"schema": {
"$ref": "#/definitions/403Error"
}
},
"422": {
"description": "Invalid Parameter Input",
"schema": {
"$ref": "#/definitions/422Error"
}
},
"503": {
"description": "General error.",
"schema": {
"$ref": "#/definitions/503Error"
}
}
},
"security": [
{
"okapi_oauth": [
"DOMAINMANAGERS"
]
}
]
}
},
"/messagebank/dsi/{tenant}?<search attributes>": {
"get": {
"tags": [
"Get Service Inventory By Filter Params"
],
"summary": "Get Service Inventory by Filter Params",
"operationId": "getServiceInventoryByFilterParams",
"produces": [
"application/json"
],
"parameters": [
{
"name": "tenant",
"in": "path",
"description": "tenant",
"type": "string",
"required": true
},
{
"name": "<search attributes>",
"in": "query",
"description": "Search Attributes",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "Successful request",
"schema": {
"$ref": "#/definitions/GetServiceInventoryResponse"
}
},
"401": {
"description": "A valid Oauth2.0 access token was not presented to the Messagebank dm service.",
"schema": {
"$ref": "#/definitions/401Error"
}
},
"403": {
"description": "Forbidden/Unauthorised",
"schema": {
"$ref": "#/definitions/403Error"
}
},
"422": {
"description": "Invalid Parameter Input",
"schema": {
"$ref": "#/definitions/422Error"
}
},
"503": {
"description": "General error.",
"schema": {
"$ref": "#/definitions/503Error"
}
}
},
"security": [
{
"okapi_oauth": [
"DOMAINMANAGERS"
]
}
]
}
}
},
"securityDefinitions": {
"okapi_oauth": {
"type": "oauth2",
"authorizationUrl": "https://api.in.telstra.com/v1/oauth/token",
"flow": "implicit",
"scopes": {
"DOMAINMANAGERS": "authorisation to use a domain manager"
}
}
},
"definitions": {
"MessageBankDMRequest": {
"type": "object",
"description": "Message Bank Request",
"required": [
"correlationId",
"data"
],
"properties": {
"correlationId": {
"type": "string",
"description": "CorelationId"
},
"data": {
"type": "object",
"description": "Data Block",
"required": [
"fnn",
"cos",
"contact"
],
"properties": {
"fnn": {
"type": "string",
"description": "The Full national number of the Voice Mail service"
},
"secondaryFNN": {
"type": "string",
"description": "An optional secondary number of this Voicemail service"
},
"cos": {
"type": "number",
"description": "The COS profile of the Voicemail service this is an integer value from 1 to 999"
},
"contact": {
"type": "object",
"description": "Contact Details of Voice Message Bank",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Contact Details of Voice Message Bank"
},
"email": {
"type": "string",
"description": "Email associated to Voice MessageBank"
}
}
}
}
}
}
},
"MessageBankDMAcceptedResponse": {
"type": "object",
"description": "Message Bank DM Response",
"required": [
"status",
"code",
"time",
"correlationId",
"data"
],
"properties": {
"status": {
"type": "integer",
"format": "int32",
"description": "response status for the message"
},
"code": {
"type": "integer",
"format": "int32",
"description": "response code for the message"
},
"time": {
"type": "string",
"format": "date-time",
"description": "The date and time when the message was received by recipient."
},
"correlationId": {
"type": "string",
"description": "Correlation id of the message receieved"
},
"data": {
"type": "object",
"description": "Data block",
"properties": {
"voiceMessageBankId": {
"type": "string",
"description": "Internal Identifier used to retrieve details"
},
"serviceResourceId": {
"type": "string",
"description": "Service Instance Resource Id"
}
}
},
"request": {
"$ref": "#/definitions/MessageBankDMRequest"
}
}
},
"GetServiceInventoryResponse": {
"type": "object",
"description": "GetServiceInventoryResponse Object",
"required": [
"status",
"time",
"data",
"correlationId"
],
"properties": {
"status": {
"type": "integer",
"format": "int32",
"description": "response status"
},
"time": {
"type": "string",
"format": "data-time",
"description": "date time"
},
"data": {
"type": "object",
"description": "data block",
"required": [
"createdAt",
"serviceInstanceId",
"resources",
"attributes",
"type",
"tenant",
"status",
"updatedAt"
],
"properties": {
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp of when the object was created"
},
"serviceInstanceId": {
"type": "string",
"description": "Service Instance Id"
},
"resources": {
"type": "array",
"items": {
"type": "object",
"description": "Affected Resources",
"required": [
"resourceInstanceId",
"createdAt",
"system",
"resourceInstanceIdType",
"href",
"status",
"updatedAt"
],
"properties": {
"resourceInstanceId": {
"type": "string",
"description": "The Identifier of the sub-system used during the execution of the flow"
},
"createdAt": {
"type": "string",
"description": "Timestamp of when the object was created"
},
"system": {
"type": "string",
"description": "The sub-system name"
},
"resourceInstanceIdType": {
"type": "string",
"description": "The sub-system parameter name of the Identifier"
},
"href": {
"type": "string",
"format": "uri",
"description": "The URI to access the information from the sub-system"
},
"status": {
"type": "string",
"description": "The status of the execution flow within the sub-system"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp of when the object was last updated"
}
}
}
},
"attributes": {
"type": "object",
"description": "Attributes",
"required": [
"fnn",
"voiceMessageBankId"
],
"properties": {
"fnn": {
"type": "string",
"description": "The Full national number of the Voice Mail service"
},
"voiceMessageBankId": {
"type": "string",
"description": "voiceMessageBankId"
}
}
},
"type": {
"type": "string",
"description": "Type"
},
"tenant": {
"type": "string",
"description": "Tenant"
},
"status": {
"type": "string",
"description": "Status"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp of when the object was last updated"
}
}
},
"correlationId": {
"type": "string",
"description": "CorrelationId"
}
}
},
"401Error": {
"type": "object",
"description": "401 Error",
"required": [
"code",
"message",
"time",
"correlationId",
"errors"
],
"properties": {
"code": {
"type": "integer",
"format": "int32",
"description": "401 Error Code"
},
"message": {
"type": "string",
"description": "401 Error Message"
},
"time": {
"type": "string",
"format": "date-time",
"description": "The date and time when the message was received by recipient."
},
"correlationId": {
"type": "string",
"description": "Correlation id of the message receieved"
},
"errors": {
"type": "array",
"items": {
"type": "object",
"description": "401 Errors",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"description": "401 Error Code",
"format": "int32"
},
"message": {
"type": "string",
"description": "401 Error Message"
}
}
}
}
}
},
"403Error": {
"type": "object",
"description": "403 Error",
"required": [
"code",
"message",
"time",
"correlationId",
"errors"
],
"properties": {
"code": {
"type": "integer",
"format": "int32",
"description": "403 Error Code"
},
"message": {
"type": "string",
"description": "403 Error Message"
},
"time": {
"type": "string",
"format": "date-time",
"description": "The date and time when the message was received by recipient."
},
"correlationId": {
"type": "string",
"description": "Correlation id of the message receieved"
},
"errors": {
"type": "array",
"items": {
"type": "object",
"description": "403 Errors",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"description": "403 Error Code",
"format": "int32"
},
"message": {
"type": "string",
"description": "403 Error Message"
}
}
}
}
}
},
"404Error": {
"type": "object",
"description": "404 Error",
"required": [
"code",
"message",
"time",
"correlationId",
"errors"
],
"properties": {
"code": {
"type": "integer",
"format": "int32",
"description": "404 Error Code"
},
"message": {
"type": "string",
"description": "404 Error Message"
},
"time": {
"type": "string",
"format": "date-time",
"description": "The date and time when the message was received by recipient."
},
"correlationId": {
"type": "string",
"description": "Correlation id of the message receieved"
},
"errors": {
"type": "array",
"items": {
"type": "object",
"description": "404 Errors",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"description": "404 Error Code",
"format": "int32"
},
"message": {
"type": "string",
"description": "404 Error Message"
}
}
}
}
}
},
"409Error": {
"type": "object",
"description": "409 Error",
"required": [
"code",
"message",
"time",
"correlationId",
"errors"
],
"properties": {
"code": {
"type": "integer",
"format": "int32",
"description": "409 Error Code"
},
"message": {
"type": "string",
"description": "409 Error Message"
},
"time": {
"type": "string",
"format": "date-time",
"description": "The date and time when the message was received by recipient."
},
"correlationId": {
"type": "string",
"description": "Correlation id of the message receieved"
},
"errors": {
"type": "array",
"items": {
"type": "object",
"description": "409 Errors",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"description": "409 Error Code",
"format": "int32"
},
"message": {
"type": "string",
"description": "409 Error Message"
}
}
}
}
}
},
"422Error": {
"type": "object",
"description": "422 Error",
"required": [
"code",
"message",
"time",
"correlationId",
"errors"
],
"properties": {
"code": {
"type": "integer",
"format": "int32",
"description": "422 Error Code"
},
"message": {
"type": "string",
"description": "422 Error Message"
},
"time": {
"type": "string",
"format": "date-time",
"description": "The date and time when the message was received by recipient."
},
"correlationId": {
"type": "string",
"description": "Correlation id of the message receieved"
},
"errors": {
"type": "array",
"items": {
"type": "object",
"description": "422 Errors",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"description": "422 Error Code",
"format": "int32"
},
"message": {
"type": "string",
"description": "422 Error Message"
}
}
}
}
}
},
"503Error": {
"type": "object",
"description": "503 Error",
"required": [
"code",
"message",
"time",
"correlationId",
"errors"
],
"properties": {
"code": {
"type": "integer",
"format": "int32",
"description": "503 Error Code"
},
"message": {
"type": "string",
"description": "503 Error Message"
},
"time": {
"type": "string",
"format": "date-time",
"description": "The date and time when the message was received by recipient."
},
"correlationId": {
"type": "string",
"description": "Correlation id of the message receieved"
},
"errors": {
"type": "array",
"items": {
"type": "object",
"description": "503 Errors",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"description": "503 Error Code",
"format": "int32"
},
"message": {
"type": "string",
"description": "503 Error Message"
}
}
}
}
}
}
}
}