MAP Legacy API (beta)
If you want to automate the creation or maintenance of standard views, you may use the Centreon MAP extension API.
Views created using the API are not immediately visible in the desktop client; you need to restart it to see them.
With this API, in beta version, you can create/update/delete standard views. To be able to use the API, the account you use needs to have one of the following privileges:
- Centreon Admin
- Centreon MAP admin
- Centreon MAP view creation rights & editing rights on views you want to update/delete
To access the API documentation, there are two possible cases:
If you have Centreon MAP, go to the following URL:
http(s)://{map_server_url}/centreon-studio/api/beta/
If you don't have Centreon MAP, you can preview the API capabilities here: Online documentation
Because the Centreon Map API is not trivial to use, here is a scenario that authenticates the user then creates a map and adds a host to it.
1. Authentication
POST : http://{{serverURL}}:8080/centreon-studio/api/beta/authentication
Headers {
Content-Type = application/json
X-Client-Version = 20.04.0
}
Body {
"login" : "admin"
"password" : "denied"
}
In the result, retrieve the {studio-session} (token); you'll need to use it for all your API calls. The headers will look like this:
Headers {
Content-Type = application/json
X-client-version = 19.10.0
studio-session = {studio-session}
}
2. Create a Map
POST http://{{serverURL}}:8080/centreon-studio/api/beta/maps
Headers {
Content-Type = application/json
X-client-version = 19.10.0
studio-session = {studio-session}
}
Body {
"label": "My new Map create from API"
}
Retrieve the ID of the view returned: {viewId}
3.Open the Map
GET http://{{serverURL}}:8080/centreon-studio/api/beta/maps/{viewId}
4.Create a "Shape" (Rectangle) element (not yet on the map)
POST http://{{serverURL}}:8080/centreon-studio/api/beta/centreon-resources
Body: {
"label": "FR - Rectangle",
"abscissa": 120,
"ordinate": 120,
"width": 130,
"height": 53,
"color": "#0096ff",
"thickness": 1,
"borderColor": "#f0f0f0",
"line": 1,
"type": "RECTANGLE"
}
Retrieve the ID of the element you just created: {id}
5. Attach the element to the opened view
PUT http://{{serverURL}}:8080/centreon-studio/api/beta/views/{viewId}/elements/{id}