Network Slicing API Specifications

1. Select NST API

Interface DefinitionDescription

Content-Type

application/json

Operation Type

POST

URI

https://{host}:{port}/api/oof/v1/selection/nst

1.1. Request Header

HeaderRequiredDescription

Accept

N

Determines the format of the body of the response. Valid value is “application/json”

Authorization

Y

Supplies Basic Authentication credentials for the request. If the Authorization header is missing, then an HTTP 400 Invalid Request response is returned. If the string supplied is invalid, then an HTTP 401 Unauthorized response is returned.

Content-Length

N

Number of bytes in the body of the request. Note that content length is limited to 1 MB.

Content-Type

Y

Determines the format of the request content. Only application/json is supported.

1.2. Request Body

Attribute

Required?

Cardinality

Content

Values

Description

serviceProfileY1serviceProfile Object
The content of the serviceProfile Object
requestInfoY1requestInfo Object
The content of the requestInfo Object

serviceProfile Object

Attribute

Required?

Cardinality

Content

Values

Description

serviceProfileParameters

Y

1

JSON BLOB


A JSON object containing service profile parameters. The contents are based on 3GPP TS 23.541 Release 16 contents, and will be in the form of attribute value pairs.

RequestInfo Object

Attribute

Required?

Cardinality

Content

Values

Description

transactionId

Y

1

UUID/String


A unique ID to track an ONAP transaction.

requestId

Y

1

UUID/String


A unique ID to track multiple requests associated with a transaction.

callbackUrl

Y

1

URL


The end point of a callback service where recommendations are posted.

callbackHeaderN1JSON blob
The header information a client expecting in a async callback.

sourceId

Y

1

String


The unique ID of a client making an optimization call.

timeout

N

1

Integer


A tolerance window (in secs) for expecting solutions. Default is 600 secs.

1.3. Synchronous Response Body

Attribute

Required?

Cardinality

Content

Values

Description

requestId

Y

1

UUID/String


A unique Id for an ONAP transaction.

transactionId

Y

1

UUID/String


A unique ID to track multiple requests associated with a transaction.

statusMessage

N

1

String


Reasoning if a requestStatus is failed.

requestStatus

Y

1

String

accepted, failed

The status of a request.

1.4. Asynchronous Response Header

Header Name

Required?

Description

Accept

N

Determines the format of the body of the response. Valid value is “application/json”

Authorization

Y

Supplies Basic Authentication credentials for the request. If the Authorization header is missing, then an HTTP 400 Invalid Request response is returned. If the string supplied is invalid, then an HTTP 401 Unauthorized response is returned.

Content-Type

Y

Determines the format of the request content. Only application/json is supported.

AttributeNAttribute and respective value that a client has sent in the callbackHeader field of a request.

Content-Length

N

Number of bytes in the body of the request. Note that content length is limited to 1 MB.

1.5. Asynchronous Response Body

Attribute

Required?

Cardinality

Content

Values

Description

requestId

Y

1

UUID/String


A unique Id for an ONAP transaction.

transactionId

Y

1

UUID/String


A unique ID to track multiple requests associated with a transaction.

statusMessage

N

1

String


Reasoning if requestStatus is failed.

requestStatus

Y

1

String

completed, failed, pending

The status of a request.

solutions

Y

1

Solution Object


Solutions related to a request.

Solution Object

Attribute

Required?

Cardinality

Content

Values

Description

NSTsolutions

Y

1..N

List of NSTSolution Object


A list of matching NSTs

NSTSolution Object

Attribute

Required?

Cardinality

Content

Values

Description

invariantUUIDY1UUID/String
Invariant UUID

UUID

Y

1

UUID/String


UUID of NST

NSTNameY1String
Name of NST
matchLevelY1JSON BLOB
Details of match of requirements in service profile

2. Select NSI API

Interface DefinitionDescription

Content-Type

application/json

Operation Type

POST

URI

https://{host}:{port}/api/oof/v1/selection/nsi

2.1. Request Header

HeaderRequiredDescription

Accept

N

Determines the format of the body of the response. Valid value is “application/json”

Authorization

Y

Supplies Basic Authentication credentials for the request. If the Authorization header is missing, then an HTTP 400 Invalid Request response is returned. If the string supplied is invalid, then an HTTP 401 Unauthorized response is returned.

Content-Length

N

Number of bytes in the body of the request. Note that content length is limited to 1 MB.

Content-Type

Y

Determines the format of the request content. Only application/json is supported.

2.2. Request Body

Attribute

Required?

Cardinality

Content

Values

Description

serviceProfileY1serviceProfile Object
The content of the serviceProfile Object
NSTInfoListY1..NnstInfo Object
The content of nstInfo Object
requestInfoY1requestInfo Object
The content of the requestInfo Object

serviceProfile Object

Attribute

Required?

Cardinality

Content

Values

Description

serviceProfileParameters

Y

1

JSON BLOB


A JSON object containing service profile parameters. The contents are based on 3GPP TS 23.541 Release 16 contents, and will be in the form of attribute value pairs.

nstInfo Object

Attribute

Required?

Cardinality

Content

Values

Description

UUID

Y

1

UUID/String


UUID of NST

invariantUUIDY1UUID/String
Invariant UUID

RequestInfo Object

Attribute

Required?

Cardinality

Content

Values

Description

transactionId

Y

1

UUID/String


A unique ID to track an ONAP transaction.

requestId

Y

1

UUID/String


A unique ID to track multiple requests associated with a transaction.

callbackUrl

Y

1

URL


The end point of a callback service where recommendations are posted.

callbackHeaderN1JSON blob
The header information a client expecting in a async callback.

sourceId

Y

1

String


The unique ID of a client making an optimization call.

timeout

N

1

Integer


A tolerance window (in secs) for expecting solutions. Default is 600 secs.

2.3. Synchronous Response Body

Attribute

Required?

Cardinality

Content

Values

Description

requestId

Y

1

UUID/String


A unique Id for an ONAP transaction.

transactionId

Y

1

UUID/String


A unique ID to track multiple requests associated with a transaction.

statusMessage

N

1

String


Reasoning if a requestStatus is failed.

requestStatus

Y

1

String

accepted, failed

The status of a request.

2.4. Asynchronous Response Header

Header Name

Required?

Description

Accept

N

Determines the format of the body of the response. Valid value is “application/json”

Authorization

Y

Supplies Basic Authentication credentials for the request. If the Authorization header is missing, then an HTTP 400 Invalid Request response is returned. If the string supplied is invalid, then an HTTP 401 Unauthorized response is returned.

Content-Type

Y

Determines the format of the request content. Only application/json is supported.

AttributeNAttribute and respective value that a client has sent in the callbackHeader field of a request.

Content-Length

N

Number of bytes in the body of the request. Note that content length is limited to 1 MB.

2.5. Asynchronous Response Body

Attribute

Required?

Cardinality

Content

Values

Description

requestId

Y

1

UUID/String


A unique Id for an ONAP transaction.

transactionId

Y

1

UUID/String


A unique ID to track multiple requests associated with a transaction.

statusMessage

N

1

String


Reasoning if requestStatus is failed.

requestStatus

Y

1

String

completed, failed, pending

The status of a request.

solutions

Y

1

Solution Object


Solutions related to a request.

Solution Object

Attribute

Required?

Cardinality

Content

Values

Description

sharedNSIsolutionList

N

1..N

List of shareNSISolution Objects


A list of matching NSIs from existing NSIs

newNSISolutionListN1..NList of newNSISolution Objects
Details of the constituents of the new NSIs that can be instantiated to meet the request

sharedNSISolution Object

Attribute

Required?

Cardinality

Content

Values

Description

invariantUUIDY1UUID/String
Invariant UUID

UUID

Y

1

UUID/String


UUID of NSI

NSINameY1String
Name of NSI
NSIIdY1String
Id of NSI
matchLevelY1JSON BLOB
Details of match of requirements in service profile, and recommendation rank (future enhancement, based on telemetry, capacity, etc.)

newNSISolution Object

Attribute

Required?

Cardinality

Content

Values

Description

NSTInfoY1NSTResponseInfo object
NST information

NSSIList

Y

1..N

List of NSSISolution objects


List of NSSIs which when concatenated shall form the NSI, in case NSSI is not present, only the sliceProfile will be included.

matchLevelY1JSON BLOB
Details of match of requirements in service profile, and recommendation rank (future enhancement, based on telemetry, capacity, etc.)

NSTResponseInfo Object

Attribute

Required?

Cardinality

Content

Values

Description

UUID

Y

1

UUID/String


UUID of NST

invariantUUIDY1UUID/String
Invariant UUID
NSTNameY1String
Name of NST

NSSISolution Object

Attribute

Required?

Cardinality

Content

Values

Description

sliceProfile

Y

1

JSON BLOB


A JSON object containing slice profile parameters. The contents are based on 3GPP TS 23.541 Release 16 contents, and will be in the form of attribute value pairs.

NSSTInfoY1NSSTResponseInfo Object contents
NSST info
NSSIObjectN1NSSI Object contents
Details of the NSSI that is already existing, if present.

NSTResponseInfo Object

Attribute

Required?

Cardinality

Content

Values

Description

UUID

Y

1

UUID/String


UUID of NSST

invariantUUIDY1UUID/String
Invariant UUID
NSSTNameY1String
Name of NSST

NSSI Object

Attribute

Required?

Cardinality

Content

Values

Description

invariantUUIDY1UUID/String
Invariant UUID

UUID

Y

1

UUID/String


UUID of NSSI

NSSIINameY1String
Name of NSSI
NSSIIdY1String
Id of NSSI
matchLevelY1JSON BLOB
Details of match of requirements in slice profile, and percentage of fit (future enhancement, based on telemetry, capacity, etc.)

3. Select NSSI API

Interface DefinitionDescription

Content-Type

application/json

Operation Type

POST

URI

https://{host}:{port}/api/oof/v1/selection/nssi

3.1. Request Header

HeaderRequiredDescription

Accept

N

Determines the format of the body of the response. Valid value is “application/json”

Authorization

Y

Supplies Basic Authentication credentials for the request. If the Authorization header is missing, then an HTTP 400 Invalid Request response is returned. If the string supplied is invalid, then an HTTP 401 Unauthorized response is returned.

Content-Length

N

Number of bytes in the body of the request. Note that content length is limited to 1 MB.

Content-Type

Y

Determines the format of the request content. Only application/json is supported.

3.2. Request Body

Attribute

Required?

Cardinality

Content

Values

Description

sliceProfileY1sliceProfile Object
The content of the sliceProfile Object
nsstInfoY1nsstInfo Object
The content of nsstInfo Object
requestInfoY1requestInfo Object
The content of the requestInfo Object

sliceProfile Object

Attribute

Required?

Cardinality

Content

Values

Description

sliceProfileParameters

Y

1

JSON BLOB


A JSON object containing slice profile parameters. The contents are based on 3GPP TS 23.541 Release 16 contents, and will be in the form of attribute value pairs.

nsstInfo Object

Attribute

Required?

Cardinality

Content

Values

Description

UUID

Y

1

UUID/String


UUID of NSST

invariantUUIDY1UUID/String
Invariant UUID

RequestInfo Object

Attribute

Required?

Cardinality

Content

Values

Description

transactionId

Y

1

UUID/String


A unique ID to track an ONAP transaction.

requestId

Y

1

UUID/String


A unique ID to track multiple requests associated with a transaction.

callbackUrl

Y

1

URL


The end point of a callback service where recommendations are posted.

callbackHeaderN1JSON blob
The header information a client expecting in a async callback.

sourceId

Y

1

String


The unique ID of a client making an optimization call.

timeout

N

1

Integer


A tolerance window (in secs) for expecting solutions. Default is 600 secs.

3.3. Synchronous Response Body

Attribute

Required?

Cardinality

Content

Values

Description

requestId

Y

1

UUID/String


A unique Id for an ONAP transaction.

transactionId

Y

1

UUID/String


A unique ID to track multiple requests associated with a transaction.

statusMessage

N

1

String


Reasoning if a requestStatus is failed.

requestStatus

Y

1

String

accepted, failed

The status of a request.

3.4. Asynchronous Response Header

Header Name

Required?

Description

Accept

N

Determines the format of the body of the response. Valid value is “application/json”

Authorization

Y

Supplies Basic Authentication credentials for the request. If the Authorization header is missing, then an HTTP 400 Invalid Request response is returned. If the string supplied is invalid, then an HTTP 401 Unauthorized response is returned.

Content-Type

Y

Determines the format of the request content. Only application/json is supported.

AttributeNAttribute and respective value that a client has sent in the callbackHeader field of a request.

Content-Length

N

Number of bytes in the body of the request. Note that content length is limited to 1 MB.

3.5. Asynchronous Response Body

Attribute

Required?

Cardinality

Content

Values

Description

requestId

Y

1

UUID/String


A unique Id for an ONAP transaction.

transactionId

Y

1

UUID/String


A unique ID to track multiple requests associated with a transaction.

statusMessage

N

1

String


Reasoning if requestStatus is failed.

requestStatus

Y

1

String

completed, failed, pending

The status of a request.

solutions

Y

1

Solution Object


Solutions related to a request.

Solution Object

Attribute

Required?

Cardinality

Content

Values

Description

NSSISolutions

Y

1..N

List of NSSI Objects


A list of matching NSSIs

NSSI Object

Attribute

Required?

Cardinality

Content

Values

Description

UUID

Y

1

UUID/String


UUID of NSSI

NSSINameY1String
Name of NSSI
NSSIIdY1String
Id of NSSI
matchLevelY1JSON BLOB
Details of match of requirements in slice profile, and percentage of fit (future enhancement, based on telemetry, capacity, etc.)

4. HTTP Response Code

HTTP Code

Response Phrase

Description

201

Created

An optimization solution is found.

202

Accepted

An optimization request is accepted.

400

Bad request

Bad request.

401

Unauthorized

Request body is not compliant with the API definition.

404

Not found

The server cannot find the requested URI.

405

Method not found

The requested method is not supported by a server.

500

Internal server error

The server encountered an internal server error or timed out.

520Solver errorRequested number of solutions cannot be found.