Aller au contenu principal
Version: 24.04

Rest API (v1)

Cette documentation n'est disponible qu'en anglais.

Overview

This documentation is for developers familiar with HTTP requests and JSON. It explains various API operations, related requests and responses structure, and error codes. If you are not familiar with the JSON API, we recommend you to use the Centreon command line API documentation.

Permissions

To perform API calls, you must be an administrator.

Authentication

Using POST method and the URL below:

api.domain.tld/centreon/api/index.php?action=authenticate

Body form-data:

ParameterTypeValue
usernameTextThe user name you use to login on Centreon
passwordTextYour Centreon password

The response is a json flow getting back the authentication token :

{
"authToken": "NTc1MDU3MGE3M2JiODIuMjA4OTA2OTc="
}

This token will be used later on the other API actions.

Error codes

CodeMessage
200Successful
400Missing parameter / Missing name parameter / Unknown parameter / Objects are not linked
401Unauthorized
404Object not found / Method not implemented into Centreon API
409Object already exists / Name is already in use / Objects already linked
500Internal server error (custom message)

Configuration

Getting started

Most of the actions available (about 95%) in the command line API is available in the rest API.

Here is an example for listing hosts using rest API.

Using POST method and the URL below:

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header:

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body:

{
"action": "show",
"object": "HOST"
}
  • The key action corresponds to the option -a in Centreon CLAPI, the value show corresponds to the -a option value.
  • The key object corresponds to the option -o in Centreon CLAPI, the value HOST corresponds to the -o option value.

The equivalent action using Centreon CLAPI is:

centreon -u admin -p centreon -o HOST -a show

Response: The response is a json flow listing all hosts and formated as below:

{
"result": [
{
"id": "12",
"name": "mail-uranus-frontend",
"alias": "mail-uranus-frontend",
"address": "mail-uranus-frontend",
"activate": "1"
},
{
"id": "13",
"name": "mail-neptune-frontend",
"alias": "mail-neptune-frontend",
"address": "mail-neptune-frontend",
"activate": "1"
},
{
"id": "14",
"name": "srvi-mysql01",
"alias": "srvi-mysql01",
"address": "srvi-mysql01",
"activate": "1"
}
]
}

Some actions need the values key (the option -v in Centreon CLAPI). Depending on the called action, the body can contain values key. We will see that in detail later.

API Calls

All API calls you can do on objects are described below. Note that you need to be authenticate before each call.

API calls on the Host object are fully-detailed below. For the next objects, only the actions available are listed, so just follow the same approach as for the host object for an API call.

Host

List hosts

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "show",
"object": "host"
}

Response

{
"result": [
{
"id": "79",
"name": "mail-uranus-frontend",
"alias": "mail-uranus-frontend",
"address": "mail-uranus-frontend",
"activate": "1"
},
{
"id": "80",
"name": "mail-neptune-frontend",
"alias": "mail-neptune-frontend",
"address": "mail-neptune-frontend",
"activate": "1"
},
{
"id": "81",
"name": "mail-earth-frontend",
"alias": "mail-earth-frontend",
"address": "mail-earth-frontend",
"activate": "1"
}
]
}

Add host

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "add",
"object": "host",
"values": "test;Test host;127.0.0.1;generic-host;central;Linux-SerVers"
}

Response

{
"result": []
}

Delete host

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "del",
"object": "host",
"values": "test"
}

Response

{
"result": []
}

Set parameters

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "setparam",
"object": "host",
"values": "test;ParameterToSet;NewParameter"
}

Available parameters

ParameterDescription
2d_coords2D coordinates (used by statusmap)
3d_coords3D coordinates (used by statusmap)
geo_coordsGeo coordinates (used by Centreon MAP)
action_urlAction URL
activateWhether or not host is enabled
active_checks_enabledWhether or not active checks are enabled
acknowledgement_timeoutAcknowledgement timeout (in seconds)
addressHost IP Address
aliasAlias
check_commandCheck command
check_command_argumentsCheck command arguments
check_intervalNormal check interval
check_freshnessCheck freshness (in seconds)
check_periodCheck period
checks_enabledWhether or not checks are enabled
contact_additive_inheritanceEnables contact additive inheritance
cg_additive_inheritanceEnables contactgroup additive inheritance
event_handlerEvent handler command
event_handler_argumentsEvent handler command arguments
event_handler_enabledWhether or not event handler is enabled
first_notification_delayFirst notification delay (in seconds)
flap_detection_enabledWhether or not flap detection is enabled
flap_detection_optionsFlap detection options
icon_imageIcon image
icon_image_altIcon image text
max_check_attemptsMaximum number of attempt before a HARD state is declared
nameHost name
notesNotes
notes_urlNotes URL
notifications_enabledWhether or not notification is enabled
notification_intervalNotification interval
notification_optionsNotification options
notification_periodNotification period
obsess_over_hostWhether or not obsess over host option is enabled
passive_checks_enabledWhether or not passive checks are enabled
process_perf_dataProcess performance data command
retain_nonstatus_informationWhether or not there is non-status retention
retain_status_informationWhether or not there is status retention
retry_check_intervalRetry check interval
snmp_communitySnmp Community
snmp_versionSnmp version
stalking_optionsComma separated options: 'o' for OK, 'd' for Down, 'u' for Unreachable
statusmap_imageStatus map image (used by statusmap
host_notification_optionsNotification options (d,u,r,f,s)
timezoneTimezone

Response

{
"result": []
}

Get parameters

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "getparam",
"object": "host",
"values": "test;ParameterToGet|ParameterToGet"
}

Available parameters

ParameterDescription
2d_coords2D coordinates (used by statusmap)
3d_coords3D coordinates (used by statusmap)
geo_coordsGeo coordinates (used by Centreon MAP)
action_urlAction URL
activateWhether or not host is enabled
active_checks_enabledWhether or not active checks are enabled
addressHost IP Address
aliasAlias
check_commandCheck command
check_command_argumentsCheck command arguments
check_intervalNormal check interval
check_freshnessCheck freshness (in seconds)
check_periodCheck period
checks_enabledWhether or not checks are enabled
contact_additive_inheritanceEnables contact additive inheritance
cg_additive_inheritanceEnables contactgroup additive inheritance
event_handlerEvent handler command
event_handler_argumentsEvent handler command arguments
event_handler_enabledWhether or not event handler is enabled
first_notification_delayFirst notification delay (in seconds)
flap_detection_enabledWhether or not flap detection is enabled
flap_detection_optionsFlap detection options
icon_imageIcon image
icon_image_altIcon image text
max_check_attemptsMaximum number of attempt before a HARD state is declared
nameHost name
notesNotes
notes_urlNotes URL
notifications_enabledWhether or not notification is enabled
notification_intervalNotification interval
notification_optionsNotification options
notification_periodNotification period
obsess_over_hostWhether or not obsess over host option is enabled
passive_checks_enabledWhether or not passive checks are enabled
process_perf_dataProcess performance data command
retain_nonstatus_informationWhether or not there is non-status retention
retain_status_informationWhether or not there is status retention
retry_check_intervalRetry check interval
snmp_communitySnmp Community
snmp_versionSnmp version
stalking_optionsComma separated options: 'o' for OK, 'd' for Down, 'u' for Unreachable
statusmap_imageStatus map image (used by statusmap
host_notification_optionsNotification options (d,u,r,f,s)
timezoneTimezone

Response

{
"result": [
{
"alias": "test",
"address": "192.168.56.101",
"timezone": "Europe/Berlin"
}
]
}

Set instance poller

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "setinstance",
"object": "host",
"values": "test;Poller-2"
}

Response

{
"result": []
}

Get macro

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "getmacro",
"object": "host",
"values": "mail-uranus-frontend"
}

Response Here is a response example :

{
"result": [
{
"macro name": "ALIVENUM",
"macro value": "1",
"is_password": "",
"description": "",
"source": "generic-host-bench"
},
{
"macro name": "ALIVEWARNING",
"macro value": "3000,80",
"is_password": "",
"description": "",
"source": "generic-host-bench"
},
{
"macro name": "ALIVECRITICAL",
"macro value": "5000,100",
"is_password": "",
"description": "",
"source": "generic-host-bench"
}
]
}

Set macro

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "setmacro",
"object": "host",
"values": "mail-uranus-frontend;MacroName;NewValue"
}

To edit an existing custom macro, The MacroName used on the body should be defined on the Custom Marco of the chosen host. If the marco doesn't exist, it will be created.

Response

{
"result": []
}

Delete macro

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "delmacro",
"object": "host",
"values": "mail-uranus-frontend;MacroName"
}

The MacroName used on the body is the macro to delete. It should be defined on the Custom Marco of the chosen host.

Response

{
"result": []
}

Get template

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "gettemplate",
"object": "host",
"values": "mail-uranus-frontend"
}

Response Here is a response example :

{
"result": [
{
"id": "3",
"name": "Servers-Linux"
},
{
"id": "62",
"name": "Postfix-frontend"
},
{
"id": "59",
"name": "Cyrus-murder-frontend"
}
]
}

Set template

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "settemplate",
"object": "host",
"values": "mail-uranus-frontend;MyHostTemplate"
}

The MyHostTemplate used on the body should exist as a host template. The new template erase templates already exist.

Response

{
"result": []
}

Add template

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "addtemplate",
"object": "host",
"values": "mail-uranus-frontend;MyHostTemplate"
}

The MyHostTemplate used on the body should exist as a host template. The new template is added without erasing template already linked

Response

{
"result": []
}

Delete template

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "deltemplate",
"object": "host",
"values": "mail-uranus-frontend;MyHostTemplate"
}

The MyHostTemplate used on the body should exist as a host template.

Response

{
"result": []
}

Apply template

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "applytpl",
"object": "host",
"values": "mail-uranus-frontend"
}

Response

{
"result": []
}

Get parent

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "getparent",
"object": "host",
"values": "mail-uranus-frontend"
}

Response

{
"result": [
{
"id": "219",
"name": "mail-uranus-frontdad"
}
]
}

Add parent

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "addparent",
"object": "host",
"values": "mail-uranus-frontend;fw-berlin"
}

Response

{
"result": []
}

To add more than one parent to a host, use the character '|'. Ex:

"values": "mail-uranus-frontend;fw-berlin|fw-dublin"

The add action add the parent without overwriting he previous configuration.

Set parent

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "setparent",
"object": "host",
"values": "mail-uranus-frontend;fw-berlin"
}

Response

{
"result": []
}

To set more than one parent to a host, use the character '|'. Ex:

"values": "mail-uranus-frontend;fw-berlin|fw-dublin"

The set action overwrite the previous configuration before setting the new parent.

Delete parent

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "delparent",
"object": "host",
"values": "mail-uranus-frontend;fw-berlin"
}

Response

{
"result": []
}

To delete more than one parent, use the character '|'. Ex:

"values": "mail-uranus-frontend;fw-berlin|fw-dublin"

Get child

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

  {
"action": "getchild",
"object": "host",
"values": "mail-uranus-frontdad"
}

Response

 {
"result": [
{
"id": "219",
"name": "mail-uranus-frontchild"
}
]
}

Add child

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

  {
"action": "addchild",
"object": "host",
"values": "fw-berlin;mail-uranus-frontend"
}

Response

 {
"result": []
}

To add more than one child to a host, use the character '|'. Ex:

"values": "fw-berlin;mail-uranus-frontend|mail-neptune-frontend"

The add action add the child without overwriting the previous configuration.

Set child

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

  {
"action": "setchild",
"object": "host",
"values": "fw-berlin;mail-uranus-frontend"
}

Response

 {
"result": []
}

To set more than one child to a host, use the character '|'. Ex:

"values": "fw-berlin;mail-uranus-frontend|mail-neptune-frontend"

The set action overwrite the previous configuration before setting the new child.

Delete child

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

  {
"action": "delchild",
"object": "host",
"values": "fw-berlin;mail-uranus-frontend"
}

Response

 {
"result": []
}

To delete more than one child, use the character '|'. Ex:

"values": "fw-berlin;mail-uranus-frontend|mail-neptune-frontend"

Get contact group

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "getcontactgroup",
"object": "host",
"values": "mail-uranus-frontend"
}

Response

{
"result": [
{
"id": "6",
"name": "Mail-Operators"
}
]
}

Add contact group

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "addcontactgroup",
"object": "host",
"values": "mail-uranus-frontend;Supervisors"
}

Response

{
"result": []
}

To add more than one contactgroup to a host, use the character '|'. Ex:

"values": "mail-uranus-frontend;Supervisors|Guest"

The add action add the contact without overwriting he previous configuration.

Set contact group

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "setcontactgroup",
"object": "host",
"values": "mail-uranus-frontend;Supervisors"
}

Response

{
"result": []
}

To set more than one contactgroup to a host, use the character '|'. Ex:

"values": "mail-uranus-frontend;Supervisors|Guest"

The set action overwrite the previous configuration before setting the new contactgroup.

Delete contact group

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "delcontactgroup",
"object": "host",
"values": "mail-uranus-frontend;Guest"
}

Response

{
"result": []
}

To delete more than one contactgroup, use the character '|'. Ex:

"values": "mail-uranus-frontend;Guest|Supervisors"

Get contact

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "getcontact",
"object": "host",
"values": "mail-uranus-frontend"
}

Response

{
"result": [
{
"id": "20",
"name": "user-mail"
}
]
}

Add contact

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "addcontact",
"object": "host",
"values": "mail-uranus-frontend;admin"
}

Response

{
"result": []
}

To add more than one contact to a host, use the character '|'. Ex:

"values": "mail-uranus-frontend;admin|SuperAdmin"

The add action add the contact without overwriting he previous configuration.

Set contact

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "setcontact",
"object": "host",
"values": "mail-uranus-frontend;admin"
}

Response

{
"result": []
}

To set more than one contact to a host, use the character '|'. Ex:

"values": "mail-uranus-frontend;admin|SuperAdmin"

The set action overwrite the previous configuration before setting the new contact.

Delete contact

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "delcontact",
"object": "host",
"values": "mail-uranus-frontend;Guest"
}

Response

{
"result": []
}

To delete more than one contact, use the character '|'. Ex:

"values": "mail-uranus-frontend;admin|SuperAdmin"

Get hostgroup

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "gethostgroup",
"object": "host",
"values": "mail-uranus-frontend"
}

Response

{
"result": [
{
"id": "53",
"name": "Linux-Servers"
},
{
"id": "63",
"name": "Mail-Cyrus-Frontend"
}
]
}

Add hostgroup

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "addhostgroup",
"object": "host",
"values": "mail-uranus-frontend;Mail-Postfix-Frontend"
}

Response

{
"result": []
}

To add more than one hostgroup to a host, use the character '|'. Ex:

"values": "mail-uranus-frontend;Mail-Postfix-Frontend|Linux-Servers"

The add action add the hostgroup without overwriting he previous configuration.

Set hostgroup

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "sethostgroup",
"object": "host",
"values": "mail-uranus-frontend;Linux-Servers"
}

Response

{
"result": []
}

To set more than one hostgroup to a host, use the character '|'. Ex:

"values": "mail-uranus-frontend;Linux-Servers|Mail-Postfix-Frontend"

The set action overwrite the previous configuration before setting the new hostgroup.

Delete hostgroup

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "delhostgroup",
"object": "host",
"values": "mail-uranus-frontend;Linux-Servers"
}

Response

{
"result": []
}

To delete more than one hostgroup, use the character '|'. Ex:

"values": "mail-uranus-frontend;Linux-Servers|Mail-Postfix-Frontend"

Enable

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "enable",
"object": "host",
"values": "mail-uranus-frontend"
}

Response

{
"result": []
}

Disable

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "disable",
"object": "host",
"values": "mail-uranus-frontend"
}

Response

{
"result": []
}

ACL

  • Object

    • ACL

Actions

- reload
- lastreload

Action ACL

  • Object

    • ACLACTION

Actions

- show
- add
- del
- setparam
- getaclgroup
- grant
- revoke

ACL groups

  • Object

    • ACLGROUP

Actions

- show
- add
- del
- setparam
- getmenu
- getaction
- getresource
- getcontact
- getcontactgroup
- setmenu
- setaction
- setresource
- addmenu
- addaction
- addresource
- delmenu
- delaction
- delresource
- setcontact
- setcontactgroup
- addcontact
- addcontactgroup
- delcontact
- delcontactgroup
  • Object

    • ACLMENU

Actions

- show
- add
- del
- setparam
- getaclgroup
- grant
- revoke

Resource ACL

  • Object

    • ACLRESOURCE

Actions

- show
- add
- del
- setparam
- getaclgroup
- grant
- revoke

Centreon Broker

  • Object

    • CENTBROKERCFG

Actions

- show
- add
- del
- setparam
- listinput, listoutput, listlogger, listcorrelation, listtemporary,
liststats
- getinput , getoutput, getlogger, getcorrelation, gettemporary, getstats
- addinput, addoutput, addlogger, addcorrelation, addtemporary, addstats
- delinput, deloutput, dellogger, delcorrelation, deltemporary, delstats
- setinput, setoutput, setlogger, setcorrelation, settemporary, setstats

CGI CFG

  • Object

    • CGICFG

Actions

- show
- add
- del
- setparam

Commands

  • Object

    • CMD

Actions

- show
- add
- del
- setparam

Contacts

  • Object

    • CONTACT

Actions

- show
- add
- del
- setparam
- enable
- disable

Contact templates

  • Object

    • CONTACTTPL

Actions

- show
- add
- del
- setparam
- enable
- disable

Contact groups

  • Object

    • CG

Actions

- show
- add
- del
- setparam
- enable
- disable
- getcontact
- addcontact
- setcontact
- delcontact

Dependencies

  • Object

    • DEP

Actions

- show
- add
- del
- setparam
- listdep
- addparent
- addchild
- delparent
- delchild

Downtimes

  • Object

    • DOWNTIME

Actions

- show
- add
- del
- listperiods
- addweeklyperiod
- addmonthlyperiod
- addspecificperiod
- addhost, addhostgroup, addservice, addservicegroup
- delhost, delhostgroup, delservice, delservicegroup
- sethost, sethostgroup, setservice, setservicegroup

Host template

  • Object

    • HTPL

Actions APPLYTPL and SETINSTANCE actions on HTPL

- show
- add
- del
- setparam
- getmacro
- setmacro
- delmacro
- getparent
- addparent
- setparent
- delparent
- getcontactgroup
- addcontactgroup
- setcontactgroup
- delcontactgroup
- getcontact
- addcontact
- setcontact
- delcontact
- gethostgroup
- addhostgroup
- sethostgroup
- delhostgroup
- setseverity
- unsetseverity
- enable
- disable

Host categories

  • Object

    • HC

Actions

- show
- add
- del
- getmember
- addmember
- setmember
- setseverity
- unsetseverity
- delmember

Hostgroups

  • Object

    • HG

Actions

- show
- add
- del
- setparam
- getmember
- addmember
- setmember
- delmember

Instances (Pollers)

  • Object

    • INSTANCE

Actions

- show
- add
- del
- setparam
- gethosts

resourcecfg objects allow to define macro values that apply to a set of monitoring engines.
A resourcecfg object defines a macro for one or multiple monitoring engines.
The same macro can be defined in multiple resourcecfg objects with complementary lists of monitoring engines.
More information here: Resource macros

List RESOURCECFG objects

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "show",
"object": "resourcecfg"
}

Response

{
"result": [
{
"id": "1",
"name": "$USER1$",
"value": "/usr/lib64/nagios/plugins",
"comment": "Nagios Plugins Path",
"activate": "1",
"instance": [
"Central"
]
},
{
"id": "2",
"name": "$CENTREONPLUGINS$",
"value": "/usr/lib/centreon/plugins",
"comment": "Centreon Plugins Path",
"activate": "1",
"instance": [
"Central"
]
}
]
}

Add a RESOURCECFG object

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "add",
"object": "resourcecfg",
"values": "{macro name};{macro value};{poller related list};{comment}"
}

Response

{"result":[]}

Delete a RESOURCECFG object

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "del",
"object": "resourcecfg",
"values": "{macro ID}"
}

Response

{"result":[]}

Change a RESOURCECFG object

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action": "setparam",
"object": "resourcecfg",
"values": "{macro ID};{parameter to change: instance,comment,value or activate};{value}"
}

Response

{"result":[]}

Service templates

  • Object

    • STPL

Actions

- show
- add
- del
- setparam
- gethosttemplate
- addhosttemplate
- sethosttemplate
- delhosttemplate
- getmacro
- setmacro
- delmacro
- getcontact
- addcontact
- setcontact
- delcontact
- getcontactgroup
- setcontactgroup
- delcontactgroup
- gettrap
- settrap
- deltrap

Services

  • Object

    • SERVICE

Actions

- show
- add
- del
- setparam
- addhost
- sethost
- delhost
- getmacro
- setmacro
- delmacro
- setseverity
- unsetseverity
- getcontact
- addcontact
- setcontact
- delcontact
- getcontactgroup
- setcontactgroup
- delcontactgroup
- gettrap
- settrap
- deltrap

Service groups

  • Object

    • SG

Actions

- show
- add
- del
- setparam
- getservice
- gethostgroupservice
- addservice
- setservice
- addhostgroupservice
- sethostgroupservice
- delservice
- delhostgroupservice

Service categories

  • Object

    • SC

Actions

- show
- add
- del
- setparam
- getservice
- getservicetemplate
- addservice
- setservice
- addservicetemplate
- setservicetemplate
- delservice
- delservicetemplate
- setseverity
- unsetseverity

Time periods

  • Object

    • TIMEPERIOD

Actions

- show
- add
- del
- setparam
- getexception
- setexception
- delexception

Traps

  • Object

    • TRAP

Actions

- show
- add
- del
- setparam
- getmatching
- addmatching
- delmatching
- updatematching

Vendors

  • Object

    • VENDOR

Actions

- show
- add
- del
- setparam
- generatetraps

Get business views

POST

api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Body

{
"action":"show",
"object":"bv"
}

Response

The response is a JSON flow listing all hosts, formated as follows: :

{
"result": [
{
"id_ba_group": "1",
"name": "BA-Mail-View",
"description": "BA Mail View"
},
{
"id_ba_group": "2",
"name": "BA-CIO-View",
"description": "BA CIO View"
}
]
}

Realtime information

Host Status

All monitoring information regarding hosts are available in throw the Centreon API.

Using GET method and the URL below:

api.domain.tld/centreon/api/index.php?object=centreon_realtime_hosts&action=list

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Parameters

You can pass a list of parameters in order to select the data you want.

Parametersvalues
viewTypeselect the predefined filter like in the monitoring view: all, unhandled, problems
fieldsthe fields list that you want to get separated by a ","
statusthe status of hosts that you want to get (up, down, unreachable, pending, all)
hostgrouphostgroup id filter
instanceinstance id filter
searchsearch pattern applyed on host name
criticalitya specific criticity
sortTypethe sortType (selected in the field list)
orderASC ou DESC
limitnumber of line you want
numberpage number

Field list :

FieldsDescription
idhost id
namehost name
aliashost alias (description of the host)
addresshost address (domain name or ip)
statehost state (UP = 0, DOWN = 2, UNREA = 3)
state_typehost state type (SOFT = 0, HARD = 1)
outputPlugin output - state message
max_check_attemptsmaximum check attempts
check_attemptcurrent attempts
last_checklast check time
last_state_changelast time the state change
last_hard_state_changelast time the state change in hard type
acknowledgedacknowledged flag
instancename of the instance who check this host
instance_idid of the instance who check this host
criticalitycriticality fo this host
passive_checksaccept passive results
active_checksactive checks are enabled
notifynotification is enabled
action_urlshortcut for action URL
notes_urlshortcut for note URL
notesnote
icon_imageicone image for this host
icon_image_alttitle of the image
scheduled_downtime_depthscheduled_downtime_depth
flappingis the host flapping ?

Using GET method and the URL below:

api.domain.tld/centreon/api/index.php?object=centreon_realtime_hosts&action=list&limit=60&viewType=all&sortType=name&order=desc&fields=id,name,alias,address,state,output,next_check

Service Status

All monitoring information regarding services are available in throw the Centreon API. With this call, you can also get host informations in the same time that service information. This web service provide the same possibility that the service monitoring view.

Using GET method and the URL below:

api.domain.tld/centreon/api/index.php?object=centreon_realtime_services&action=list

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Parameters

You can pass a list of parameters in order to select the data you want.

Parametersvalues
viewTypeselect the predefined filter like in the monitoring view: all, unhandled, problems
fieldsthe fields list that you want to get separated by a ","
statusthe status of services that you want to get (ok, warning, critical, unknown, pending, all)
hostgrouphostgroup id filter
servicegroupservicegroup id filter
instanceinstance id filter
searchsearch pattern applied on service
searchHostsearch pattern applied on host
searchOutputsearch pattern applied on output
criticalitya specific criticity
sortTypethe sortType (selected in the field list)
orderASC ou DESC
limitnumber of line you want
numberpage number

Field list :

FieldsDescription
host_idhost id
host_namehost name
host_aliashost alias (description of the host)
host_addresshost address (domain name or ip)
host_statehost state (UP = 0, DOWN = 2, UNREA = 3)
host_state_typehost state type (SOFT = 0, HARD = 1)
host_outputPlugin output - state message
host_max_check_attemptsmaximum check attempts for host
host_check_attemptcurrent attempts
host_last_checklast check time
host_acknowledgedacknowledged flag
instancename of the instance who check this host
instance_idid of the instance who check this host
host_action_urlshortcut for action URL
host_notes_urlshortcut for note URL
host_notesnote
descriptionservice description - service name
display_nameservice display name
service_idservice id
stateservice state
state_typeservice state type (SOFT = 0, HARD = 1)
outputservice output returned by plugins
perfdataservice perfdata returned by plugins
current_attemptmaximum check attempts for the service
last_updatelast update date for service
last_state_changelast time the state change
last_hard_state_changelast time the state change in hard type
next_checknext check time for service
max_check_attemptsmaximum check attempts for service
action_urlshortcut for action URL
notes_urlshortcut for note URL
notesnotes
icone_imageicone image for service
passive_checksaccept passive results
active_checksactive checks are enabled
acknowledgedacknowledged flag
notifynotification is enabled
scheduled_downtime_depthscheduled_downtime_depth
flappingis the host flapping ?
event_handler_enabledis the event-handfler enabled
criticalitycriticality fo this service

Example:

Using GET method and the URL below:

api.domain.tld/centreon/api/index.php?action=list&object=centreon_realtime_services&limit=60&viewType=all&sortType=name&order=desc&fields=id,description,host_id,host_name,state,output

Submit results

You can use the centreon API to submit information to the monitoring engine. All information that you submit will be forwarded to the centreon engine poller that host the configuration.

To provide information, Centreon need to have specific and mandatory information.

The user must be admin or have access to "Reach API Configuration".

For the service submission please provide the following information :

FieldsDescription
hosthost name
serviceservice description
statusstatus id (0, 1, 2, 3) or ok, warning, critical, unknown
outputa specific message
perfdata (optional)all performance metric following the nagios plugin API
updatetimethe check time (timestamp)

For the host submission please provide the following information :

FieldsDescription
hosthost name
statusstatus id (0, 1, 2, 3)
outputa specific message
updatetimethe check time (timestamp)

To send status, please use the following URL using POST method:

api.domain.tld/centreon/api/index.php?action=submit&object=centreon_submit_results

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Example of service body submit: The body is a json with the parameters provided above formated as below:

{
"results": [
{
"updatetime": "1528884076",
"host": "Centreon-Central",
"service": "Memory",
"status": "2",
"output": "The service is in CRITICAL state",
"perfdata": "perf=20"
},
{
"updatetime": "1528884076",
"host": "Centreon-Central",
"service": "fake-service",
"status": "1",
"output": "The service is in WARNING state",
"perfdata": "perf=10"
}
]
}

Example of body response The response body is a json with the HTTP return code and a message for each submit

{
"results": [
{
"code": 202,
"message": "The status send to the engine"
},
{
"code": 404,
"message": "The service is not present."
}
]
}

Business activity

All monitoring information on Business Activites are available through the Centreon API. The BA list is sorted by impact.

Use the GET method and URL below: :

api.domain.tld/centreon/api/index.php?object=centreon_bam_realtime_ba&action=list

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Parameters

You can pass a number of parameters to select the data you want.

Parametersvalues
ba_idfilter on BA ID
searchfilter pattern on BA name
business_viewfilter pattern on business view name
statusfilter on BA status (OK, Warning, Critical, Unknown); multiple statuses separated by commas
limitnumber of desired lines
numberpage number

Use the GET method and URL below: :

api.domain.tld/centreon/api/index.php?object=centreon_bam_ba_realtime&action=list&status=ok&number=0&limit=2

Response

[
{
"id": "49",
"name": "Africa Office Availability",
"description": "Africa Office Availability",
"level_w": "12",
"level_c": "12",
"current_level": "100",
"acknowledged": "0",
"last_state_change": "1518663959",
"current_status": "0",
"in_downtime": "0",
"kpis": [
"372",
"373",
"401",
"402"
]
},
{
"id": "50",
"name": "Asia Office Availability",
"description": "Asia Office Availability",
"level_w": "12",
"level_c": "12",
"current_level": "100",
"acknowledged": "0",
"last_state_change": "1519029327",
"current_status": "0",
"in_downtime": "0",
"kpis": [
"374",
"375",
"376"
]
}
]

Additionnal information:

  • current_status: 0 = OK, 1 = warning, 2 = Critical, 3 = Unknown
  • current_impact: impact on linked BA in %
  • number: page number (first page is 0)
  • limit: page limit (default= 30)

KPI

All monitoring information for Key Performance Indicators(KPI) is available through the Centreon API. The kpi list is sorted by impact.

Use the GET method and URL below: :

api.domain.tld/centreon/api/index.php?object=centreon_bam_realtime_kpi&action=list

Header

KeyValue
Content-Typeapplication/json
centreon-auth-tokenThe value of authToken you got on the authentication response

Parameters

You can pass a number of parameters to select the data you want:

Parametersvalues
kpi_idfilter on KPI ID
kpi_searchfilter pattern on KPI name
ba_searchfilter pattern on BA name
is_impactingfilter on impacting KPI (false, true)
kpi_statusfilter on KPI status (ok, warning, critical, unknown) multiple statuses can be set separated by commas
ba_statusfilter on BA status (OK, Warning, Critical, Unknown) multiple status separated by commas
limitnumber of desired lines
numberpage number

Use the GET method and URL below: :

api.domain.tld/centreon/api/index.php?object=centreon_bam_realtime_kpi&action=list&kpi_status=ok,warning&number=0&limit=2

Response

[
{
"id": "366",
"activate": "1",
"ba_id": "47",
"ba_name": "DB-Oracle-Accounting",
"ba_activate": "1",
"type": "0",
"kpi_host": "srv-oracle-accounting",
"kpi_host_id": "149",
"kpi_service": "Query -Stores-",
"kpi_service_id": "1172",
"kpi_ba": "",
"kpi_ba_id": "",
"kpi_meta": "",
"kpi_meta_id": "",
"kpi_boolean": "",
"kpi_boolean_id": "",
"last_state_change": "1517297343",
"current_impact": "0",
"in_downtime": "0",
"acknowledged": "0",
"warning_impact": "0",
"critical_impact": "30",
"unknown_impact": "10",
"name": "srv-oracle-accounting / Query -Stores-",
"type_label": "Service",
"output": "Query <Stores> executed on 0.021 second",
"current_status": "0",
"current_status_label": "OK",
"ba_current_status": "0",
"ba_current_status_label": "OK"
},
{
"id": "365",
"activate": "1",
"ba_id": "47",
"ba_name": "DB-Oracle-Accounting",
"ba_activate": "1",
"type": "0",
"kpi_host": "srv-oracle-accounting",
"kpi_host_id": "149",
"kpi_service": "Query -Stock-",
"kpi_service_id": "1171",
"kpi_ba": "",
"kpi_ba_id": "",
"kpi_meta": "",
"kpi_meta_id": "",
"kpi_boolean": "",
"kpi_boolean_id": "",
"last_state_change": "1511356592",
"current_impact": "0",
"in_downtime": "0",
"acknowledged": "0",
"warning_impact": "0",
"critical_impact": "30",
"unknown_impact": "10",
"name": "srv-oracle-accounting / Query -Stock-",
"type_label": "Service",
"output": "Query <Stock> executed on 0.786 second",
"current_status": "0",
"current_status_label": "OK",
"ba_current_status": "0",
"ba_current_status_label": "OK"
}
]

Additionnal information:

  • kpi_type: 0 = service, 1 = metaservice, 2 = BA, 3 = boolean rule
  • kpi_name: name of the kpi (<host> / <service> or <metaservice> or <ba_name> or <boolean_rule>)
  • kpi_current_status: 0 = OK, 1 = Warning, 2 = Critical, 3 = Unknown
  • ba_current_status: 0 = OK, 1 = Warning, 2 = Critical, 3 = Unknown
  • current_impact: impact on linked BA in %
  • number: page number (first page is 0)
  • limit: page limit (default= 30)