API (beta)¶
If you want to automate standard views creation or maintenance, you may use the Centreon MAP API.
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 & editions rights on views you want to update/delete
To access the API documentation, two possibilities:
You have Centreon MAP, go to the following URL:
http(s)://{map_server_url}/centreon-studio/api/beta/
You don’t have Centreon MAP, you can preview the API capabilities here:
Because the Centreon Map API is not trivial to use, here is a scenario that authenticate, then create a map and add an host on it.
1. Authentication
POST : http://{{serverURL}}:8080/centreon-studio/api/beta/authenticationHeaders { Content-Type = application/json X-Client-Version = 19.10.0 }Body { user = admin password = centreon }
In the result, retrieve the {studio-session} (token), you’ll need to use it 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/mapsHeaders { 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 host element (not yet on the map)
POST http://{{serverURL}}:8080/centreon-studio/api/beta/centreon-resourcesBody: { "label": "FR - Rectangle", "abscissa": 120, "ordinate": 120, "width": 130, "height": 53, "color": "#0096ff", "thickness": 1, "borderColor": "#f0f0f0", "line": 1, "type": "RECTANGLE" }
Retrieve the element id you just created : {id}
5. Attach the element to the opened view
PUT http://{{serverURL}}:8080/centreon-studio/api/beta/views/{viewId}/elements/{id}