Body
Media type: application/json
Type:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Register a new resource or update an existing resource",
"title": "Resource registration",
"required": [
"type",
"data"
],
"oneOf": [
{
"properties": {
"type": {
"description": "Singular form of the resource type to be registered",
"type": "string",
"enum": ["node"]
},
"data": {
"$ref": "node.json"
}
}
},
{
"properties": {
"type": {
"description": "Singular form of the resource type to be registered",
"type": "string",
"enum": ["device"]
},
"data": {
"$ref": "device.json"
}
}
},
{
"properties": {
"type": {
"description": "Singular form of the resource type to be registered",
"type": "string",
"enum": ["sender"]
},
"data": {
"$ref": "sender.json"
}
}
},
{
"properties": {
"type": {
"description": "Singular form of the resource type to be registered",
"type": "string",
"enum": ["receiver"]
},
"data": {
"$ref": "receiver.json"
}
}
},
{
"properties": {
"type": {
"description": "Singular form of the resource type to be registered",
"type": "string",
"enum": ["source"]
},
"data": {
"$ref": "source.json"
}
}
},
{
"properties": {
"type": {
"description": "Singular form of the resource type to be registered",
"type": "string",
"enum": ["flow"]
},
"data": {
"$ref": "flow.json"
}
}
}
]
}
Example:
{
"type": "node",
"data": {
"version": "1441973902:879053935",
"hostname": "host1",
"label": "host1",
"description": "host1",
"tags": {},
"href": "http://172.29.80.65:12345/",
"api": {
"versions": ["v1.0", "v1.1", "v1.2"],
"endpoints": [
{
"host": "172.29.80.65",
"port": 12345,
"protocol": "http"
},
{
"host": "172.29.80.65",
"port": 443,
"protocol": "https"
}
]
},
"services": [
{
"href": "https://172.29.80.65:443/x-manufacturer/pipelinemanager/",
"type": "urn:x-manufacturer:service:pipelinemanager"
},
{
"href": "https://172.29.80.65:443/x-manufacturer/status/",
"type": "urn:x-manufacturer:service:status"
},
{
"href": "https://172.29.80.65:443/x-manufacturer/tally/",
"type": "urn:x-manufacturer:service:tally"
},
{
"href": "https://172.29.80.65:443/x-manufacturer/mdnsbridge/",
"type": "urn:x-manufacturer:service:mdnsbridge"
},
{
"href": "https://172.29.80.65:443/x-manufacturer/storequery/",
"type": "urn:x-manufacturer:service:storequery"
}
],
"caps": {},
"id": "3b8be755-08ff-452b-b217-c9151eb21193",
"clocks": [
{
"name": "clk0",
"ref_type":"internal"
},
{
"name": "clk1",
"ref_type":"ptp",
"traceable": true,
"version": "IEEE1588-2008",
"gmid": "08-00-11-ff-fe-21-e1-b0",
"locked": true
}
],
"interfaces": [
{
"name":"eth0",
"chassis_id":"b3-cd-09-bb-9b-d8",
"port_id":"b3-cd-09-bb-9b-d8"
},
{
"name":"eth1",
"chassis_id":"b3-cd-09-bb-9b-d8",
"port_id":"b3-cd-09-bb-9b-d9"
}
]
}
}
HTTP status code 200
The expected response for an update operation on an existing registered resource
Headers
- Location: required(string)
Example:
/x-nmos/registration/{version}/resource/nodes/3b8be755-08ff-452b-b217-c9151eb21193/
Body
Media type: application/json
Type:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Returning a registered resource from the Registration API",
"title": "Registered resource",
"oneOf": [
{"$ref": "node.json"},
{"$ref": "device.json"},
{"$ref": "source.json"},
{"$ref": "flow.json"},
{"$ref": "sender.json"},
{"$ref": "receiver.json"}
]
}
Example:
{
"version": "1441973902:879053935",
"hostname": "host1",
"label": "host1",
"description": "host1",
"tags": {},
"href": "http://172.29.80.65:12345/",
"api": {
"versions": ["v1.0", "v1.1", "v1.2"],
"endpoints": [
{
"host": "172.29.80.65",
"port": 12345,
"protocol": "http"
},
{
"host": "172.29.80.65",
"port": 443,
"protocol": "https"
}
]
},
"services": [
{
"href": "https://172.29.80.65:443/x-manufacturer/pipelinemanager/",
"type": "urn:x-manufacturer:service:pipelinemanager"
},
{
"href": "https://172.29.80.65:443/x-manufacturer/status/",
"type": "urn:x-manufacturer:service:status"
},
{
"href": "https://172.29.80.65:443/x-manufacturer/tally/",
"type": "urn:x-manufacturer:service:tally"
},
{
"href": "https://172.29.80.65:443/x-manufacturer/mdnsbridge/",
"type": "urn:x-manufacturer:service:mdnsbridge"
},
{
"href": "https://172.29.80.65:443/x-manufacturer/storequery/",
"type": "urn:x-manufacturer:service:storequery"
}
],
"caps": {},
"id": "3b8be755-08ff-452b-b217-c9151eb21193",
"clocks": [
{
"name": "clk0",
"ref_type":"internal"
},
{
"name": "clk1",
"ref_type":"ptp",
"traceable": true,
"version": "IEEE1588-2008",
"gmid": "08-00-11-ff-fe-21-e1-b0",
"locked": true
}
],
"interfaces": [
{
"name":"eth0",
"chassis_id":"b3-cd-09-bb-9b-d8",
"port_id":"b3-cd-09-bb-9b-d8"
},
{
"name":"eth1",
"chassis_id":"b3-cd-09-bb-9b-d8",
"port_id":"b3-cd-09-bb-9b-d9"
}
]
}
HTTP status code 201
The expected response for a create operation performed for a previously unregistered resource
Headers
- Location: required(string)
Example:
/x-nmos/registration/{version}/resource/nodes/3b8be755-08ff-452b-b217-c9151eb21193/
Body
Media type: application/json
Type:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Returning a registered resource from the Registration API",
"title": "Registered resource",
"oneOf": [
{"$ref": "node.json"},
{"$ref": "device.json"},
{"$ref": "source.json"},
{"$ref": "flow.json"},
{"$ref": "sender.json"},
{"$ref": "receiver.json"}
]
}
Example:
{
"version": "1441973902:879053935",
"hostname": "host1",
"label": "host1",
"description": "host1",
"tags": {},
"href": "http://172.29.80.65:12345/",
"api": {
"versions": ["v1.0", "v1.1", "v1.2"],
"endpoints": [
{
"host": "172.29.80.65",
"port": 12345,
"protocol": "http"
},
{
"host": "172.29.80.65",
"port": 443,
"protocol": "https"
}
]
},
"services": [
{
"href": "https://172.29.80.65:443/x-manufacturer/pipelinemanager/",
"type": "urn:x-manufacturer:service:pipelinemanager"
},
{
"href": "https://172.29.80.65:443/x-manufacturer/status/",
"type": "urn:x-manufacturer:service:status"
},
{
"href": "https://172.29.80.65:443/x-manufacturer/tally/",
"type": "urn:x-manufacturer:service:tally"
},
{
"href": "https://172.29.80.65:443/x-manufacturer/mdnsbridge/",
"type": "urn:x-manufacturer:service:mdnsbridge"
},
{
"href": "https://172.29.80.65:443/x-manufacturer/storequery/",
"type": "urn:x-manufacturer:service:storequery"
}
],
"caps": {},
"id": "3b8be755-08ff-452b-b217-c9151eb21193",
"clocks": [
{
"name": "clk0",
"ref_type":"internal"
},
{
"name": "clk1",
"ref_type":"ptp",
"traceable": true,
"version": "IEEE1588-2008",
"gmid": "08-00-11-ff-fe-21-e1-b0",
"locked": true
}
],
"interfaces": [
{
"name":"eth0",
"chassis_id":"b3-cd-09-bb-9b-d8",
"port_id":"b3-cd-09-bb-9b-d8"
},
{
"name":"eth1",
"chassis_id":"b3-cd-09-bb-9b-d8",
"port_id":"b3-cd-09-bb-9b-d9"
}
]
}
HTTP status code 400
Returned when the POST request is incorrectly formatted or missing mandatory attributes
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Describes the standard error response which is returned with HTTP codes 400 and above",
"title": "Error response",
"required": [
"code",
"error",
"debug"
],
"properties": {
"code": {
"description": "HTTP error code",
"type": "integer",
"minimum": 400,
"maximum": 599
},
"error": {
"description": "Human readable message which is suitable for user interface display, and helpful to the user",
"type": "string"
},
"debug": {
"description": "Debug information which may assist a programmer working with the API",
"type": ["null", "string"]
}
}
}