KMS to SDN Agent API (2.1.0)

Download OpenAPI specification:

Messages the KMS sends to the SDN

Notification

Post KMS added to network

Inform the SDN of a new KMS that has been added to the network. If local instance has information about connected QKD devices or links, specify in request body.

Authorizations:
https
Request Body schema: application/json
required
kms_id
required
string <uuid>
required
object
qkd_device_ids
Array of strings <uuid> [ items <uuid > ]

If known connected QKD devices

link_ids
Array of strings <uuid> [ items <uuid > ]

If known connected links

Responses

Request samples

Content type
application/json
{
  • "kms_id": "ad24d5e1-a0b8-4fd6-a5fa-b8bed73f67c5",
  • "model": {
    },
  • "qkd_device_ids": [
    ],
  • "link_ids": [
    ]
}

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string"
}

Update KMS status

Inform the SDN of when the KMS's status changes, e.g. the KMS goes into maintenance mode

Authorizations:
https
Request Body schema: application/json
required
state
required
string
reason
required
string

Responses

Request samples

Content type
application/json
{
  • "state": "stopped",
  • "reason": "maintenance"
}

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string"
}

Update event at KMS

Inform the SDN of an event

Authorizations:
https
Request Body schema: application/json
required
level
required
string
Enum: "debug" "info" "warning" "error" "critical"
code
integer
reason
required
string

Responses

Request samples

Content type
application/json
{
  • "level": "debug",
  • "code": 14,
  • "reason": "stopped"
}

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string"
}

API

Get this API version

State this SDN API version number which is implemented and supported by the KMS

Authorizations:
https

Responses

Response samples

Content type
application/json
{
  • "version": "2.0.0"
}