iControl Router Manager
REST API
Reference Guide
M407-9901-AA
2019-03-21
Notices
Copyright and Trademark Notice
Copyright © 2019, Grass Valley Canada. All rights reserved.
Belden, Belden Sending All The Right Signals, and the Belden logo are trademarks or
registered trademarks of Belden Inc. or its affiliated companies in the United States and
other jurisdictions. Grass Valley, Densité, GV Node, GeckoFlex, and iControl are trademarks
or registered trademarks of Grass Valley Canada. Belden Inc., Grass Valley Canada, and other
parties may also have trademark rights in other terms used herein.
Terms and Conditions
Please read the following terms and conditions carefully. By using iControl Application
Server documentation, you agree to the following terms and conditions.
Grass Valley hereby grants permission and license to owners of iControl Application Servers
to use their product manuals for their own internal business use. Manuals for Grass Valley
products may not be reproduced or transmitted in any form or by any means, electronic or
mechanical, including photocopying and recording, for any purpose unless specifically
authorized in writing by Grass Valley.
A Grass Valley manual may have been revised to reflect changes made to the product
during its manufacturing life. Thus, different versions of a manual may exist for any given
product. Care should be taken to ensure that one obtains the proper manual version for a
specific product serial number.
Information in this document is subject to change without notice and does not represent a
commitment on the part of Grass Valley.
Warranty information is available from the Legal Terms and Conditions section of Grass
Valley’s website ([Link]).
Title iControl Router Manager REST API Reference Guide
Part Number M407-9901-AA
Revision 2019-03-21, 15:34
2
Introduction
This document describes iControl’s Router Manager REST API service. This service requires
the iControl Router Manager license (order code: IC-REST-ROUTER).
Summary
As of iControl version 8.10, the Router Manager provides a REST service to access the router
manager.
The REST service is available with the following configuration:
• Accessed through HTTP on the iControl Application Server
• Registered on port:
• 5970
• With base path:
• [Link]
A WADL file describing the service is available in the base path:
• [Link]
Note: In this document, the IP address [Link] represents the iControl
Application Server.
3
Router REST API
Documentation for the Routers REST api that allows to set crosspoints
Version: 1.0
BasePath:/routermanager/api/v1/
All rights reserved
Access
Methods
Table of Contents
/routers/{routerId}/crosspoints
/routers/{routerId}/crosspoints
/routers/
/routers/{routerId}/levels
/routers/{routerId}/levels/{levelId}/destinations
/routers/{routerId}/levels/{levelId}/sources
/routers/ping
Default
GET /routers/{routerId}/crosspoints
GetCrosspoints (routersCrosspointsByRouterIdGet)
Get a list of crosspoints for a logical router.
Path parameters
routerId (required)
Path Parameter — Id of the logical router (0-based) format: int32
Consumes
This API call consumes the following media types via the Content-Type request header:
application/json
Return type
getDestinationsResponse1
Example data
Content-Type: application/json
{
"crosspoints" : [ {
"level" : 0,
"status" : [ {
"destination" : 6,
"source" : 1
}, {
"destination" : 6,
"source" : 1
} ]
}, {
"level" : 0,
"status" : [ {
"destination" : 6,
"source" : 1
}, {
"destination" : 6,
"source" : 1
} ]
} ]
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed
4
by the Content-Type response header.
application/json
Responses
200
List of crosspoints getDestinationsResponse1
POST /routers/{routerId}/crosspoints
PostCrosspoints (routersCrosspointsByRouterIdPost)
Set a crosspoint on a logical router.
Path parameters
routerId (required)
Path Parameter — Id of the logical router (0-based) format: int32
Consumes
This API call consumes the following media types via the Content-Type request header:
application/json
Request body
body postCrosspointsRequest (required)
Body Parameter — Crosspoint to set.
Return type
Object
Example data
Content-Type: application/json
"{}"
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed
by the Content-Type response header.
application/json
Responses
200
empty Object
GET /routers/
GetLogicalRouters (routersGet)
Get a list of all logical routers on the server.
Consumes
This API call consumes the following media types via the Content-Type request header:
application/json
Return type
getRoutersResponse
Example data
Content-Type: application/json
{
"routers" : [ {
"name" : "name",
"id" : 0
}, {
5
"name" : "name",
"id" : 0
} ]
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed
by the Content-Type response header.
application/json
Responses
200
List of routers getRoutersResponse
GET /routers/{routerId}/levels
GetLevels (routersLevelsByRouterIdGet)
Get a list of levels for one logical router.
Path parameters
routerId (required)
Path Parameter — Id of the logical router (0-based) format: int32
Consumes
This API call consumes the following media types via the Content-Type request header:
application/json
Return type
getLevelsResponse
Example data
Content-Type: application/json
{
"levels" : [ {
"id" : 0,
"label" : "label"
}, {
"id" : 0,
"label" : "label"
} ]
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed
by the Content-Type response header.
application/json
Responses
200
List of levels getLevelsResponse
GET /routers/{routerId}/levels/{levelId}/destinations
GetDestinations (routersLevelsDestinationsByRouterIdAndLevelIdGet)
Get list of destinations for a level, or find a single destination
Path parameters
routerId (required)
Path Parameter — Id of the logical router (0-based) format: int32
levelId (required)
Path Parameter — Id of the level (0-based) format: int32
6
Consumes
This API call consumes the following media types via the Content-Type request header:
application/json
Query parameters
id (optional)
Query Parameter — Optional filter to search for a single id (1-based).
label (optional)
Query Parameter — Optional filter to search for a single label.
Return type
getDestinationsResponse
Example data
Content-Type: application/json
{
"levels" : [ {
"id" : 0,
"label" : "label"
}, {
"id" : 0,
"label" : "label"
} ]
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed
by the Content-Type response header.
application/json
Responses
200
List of destinations or a single one. Single source does not include the array, only a single label/id pair.
getDestinationsResponse
GET /routers/{routerId}/levels/{levelId}/sources
GetSources (routersLevelsSourcesByRouterIdAndLevelIdGet)
Get list of sources for a level, or find a single source
Path parameters
routerId (required)
Path Parameter — Id of the logical router (0-based) format: int32
levelId (required)
Path Parameter — Id of the level (0-based) format: int32
Consumes
This API call consumes the following media types via the Content-Type request header:
application/json
Query parameters
id (optional)
Query Parameter — Optional filter to search for a single id (1-based).
label (optional)
Query Parameter — Optional filter to search for a single label.
Return type
getSourcessResponse
7
Example data
Content-Type: application/json
{
"levels" : [ {
"id" : 0,
"label" : "label"
}, {
"id" : 0,
"label" : "label"
} ]
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed
by the Content-Type response header.
application/json
Responses
200
List of sources or a single one. Single source does not include the array, only a single label/id pair. getSourcessResponse
GET /routers/ping
Ping (routersPingGet)
Verifies that the REST server for router manager is running at the given url. Returns "pong"
Consumes
This API call consumes the following media types via the Content-Type request header:
application/json
Return type
String
Example data
Content-Type:
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed
by the Content-Type response header.
text/plain
Responses
200
pong String
Models
Table of Contents
1. crosspointObject
2. destinationObject
3. getDestinationsResponse
4. getDestinationsResponse1
5. getLevelsResponse
6. getRoutersResponse
7. getSourcessResponse
8. levelObject
9. postCrosspointsRequest
10. routerObject
11. sourceObject
12. statusObject
crosspointObject - crosspointObject
8
Single crossspoint
level
Integer format: int32
status
array[statusObject]
destinationObject - destinationObject
Single destination (id is 1-based)
id
Integer format: int32
label
String
getDestinationsResponse - getDestinationsResponse
Body of a the response of a get destinations request
levels
array[destinationObject]
getDestinationsResponse1 - getDestinationsResponse1
Body of a the response of a get crosspoints request
crosspoints
array[crosspointObject]
getLevelsResponse - getLevelsResponse
Body of a the response of a get levels request
levels
array[levelObject]
getRoutersResponse - getRoutersResponse
Body of a the response of a get routers request
routers
array[routerObject]
getSourcessResponse - getSourcessResponse
Body of a the response of a get sources request
levels
array[sourceObject]
levelObject - levelObject
Single level (id is 0-based)
id
Integer format: int32
label
String
postCrosspointsRequest - postCrosspointsRequest
Body of a post crosspoint request. Uses integer ids for level, source and destination. A level of -1 connects the crosspoint for
all levels. Level id is 0-based, source and destination id are 1-based
level
9
Integer format: int32
source
Integer format: int32
destinations
array[Integer] format: int32
routerObject - routerObject
Single router (id is 0-based)
id
format: int32
name
sourceObject - sourceObject
Single source (id is 1-based)
id
Integer format: int32
label
String
statusObject - statusObject
Single destination/source pair (source and destination ids are 1-based)
destination
Integer format: int32
source
Integer format: int32
10
Contact Us
Grass Valley Technical Support
For technical assistance, contact our international support center, at
1-800-547-8949 (US and Canada) or +1-530-478-4148.
To obtain a local phone number for the support center nearest you, consult the Contact Us
section of Grass Valley’s website ([Link]).
An online form for e-mail contact is also available from the website.
Corporate Head Office
Grass Valley
3499 Douglas-B.-Floreani
St-Laurent, Quebec H4S 2C6
Canada
Telephone: +1 514 333 1772
Fax: +1 514 333 9828
[Link]