diff --git a/.gitignore b/.gitignore index 676cc33c48d..83fd8c83911 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,9 @@ #generic development files www/index.html +#api html documentation +doc/API/centreon-api-v2.html + #backend development and project files .idea/ vendor/ diff --git a/doc/API/README.MD b/doc/API/README.MD new file mode 100644 index 00000000000..70392489773 --- /dev/null +++ b/doc/API/README.MD @@ -0,0 +1,8 @@ +# API Documentation Guide + +## How to build ? + +```console +npm install -g redoc-cli +redoc-cli bundle --options.hideDownloadButton=true centreon-api-v2.yaml -o centreon-api-v2.html +``` diff --git a/doc/API/centreon-api-v2.html b/doc/API/centreon-api-v2.html deleted file mode 100644 index c155361bc7f..00000000000 --- a/doc/API/centreon-api-v2.html +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - Centreon Web RestAPI - - - - - - - - - -

New features

    -
  • Added real-time monitoring for hosts and services
  • -
  • Added acknowledgement for hosts and services
  • -
  • Added downtimes for hosts and services
  • -
  • Added the list of monitoring server configurations
  • -
  • Added the proxy configuration
  • -
-

Information

All dates are in ISO 8601 format

-

Authentication

There are two modes of authentication:

-
    -
  • By token: after identification with your login credentials
  • -
  • By cookie: by reusing a valid session ID
  • -
-

Token

The use of the API requires a security token.

-

To retrieve it, you will need to authenticate yourself with your login credentials.

-

The token will be deleted if it has not been used for more than one hour.

-
Security Scheme Type API Key
Header parameter name: X-AUTH-TOKEN

Cookie

If you have already connected on the Centreon web application, you can reused the PHPSESSID cookie.

-

The cookie will be valid as long as the connection to Centreon is maintained.

-
Security Scheme Type API Key
Cookie parameter name: PHPSESSID

Authentication

Login and logout endpoints to retrieve authentication token

-

Login

Entry point to retrieve an authentication token.

-
Request Body schema: application/json

Authentication schema

-
security
object

Responses

200

OK

-
401

Unauthorized

-
post /login
{protocol}://{server}:{port}/centreon/api/{version}/login

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "security":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "contact":
    {
    },
  • "security":
    {
    }
}

Logout

Entry point to delete an existing authentication token.

-
Authorizations:

Responses

200

OK

-
403

Forbidden

-
get /logout
{protocol}://{server}:{port}/centreon/api/{version}/logout

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "message": "Successful logout"
}

Proxy

Display the default configuration of the Centreon proxy

Authorizations:

Responses

200

OK

-
403

Forbidden

-
500

Internal Server Error

-
get /configuration/proxy
{protocol}://{server}:{port}/centreon/api/{version}/configuration/proxy

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "url": "proxy.internal.company.org",
  • "port": 3128,
  • "user": "proxy-user",
  • "password": "proxy-pass"
}

Update the default configuration of the Centreon proxy

Authorizations:
Request Body schema: application/json
url
required
string

URL of the proxy

-
port
required
integer [ 0 .. 65535 ]

Port of the proxy

-
user
required
string

Login used to connect to proxy

-
password
required
string

Password used to connect to proxy

-

Responses

204

Command Sent

-
403

Forbidden

-
500

Internal Server Error

-
put /configuration/proxy
{protocol}://{server}:{port}/centreon/api/{version}/configuration/proxy

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "url": "proxy.internal.company.org",
  • "port": 3128,
  • "user": "proxy-user",
  • "password": "proxy-pass"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

Monitoring Server

List all monitoring servers configurations

List all monitoring servers configurations.

-

The available parameters to search / sort_by are:

-
    -
  • id
  • -
  • name
  • -
  • is_localhost
  • -
  • address
  • -
  • is_activate
  • -
-
Authorizations:
query Parameters
search
object
limit
integer >= 1
Default: 10
Example: limit=20

Number of items per pages

-
page
integer >= 1
Default: 1
Example: page=4

Number of the requested page

-
sort_by
object
Example: sort_by={"host.name":"ASC"}

Sort the resulted data by its properties

-

Responses

200

OK

-
403

Forbidden

-
500

Internal Server Error

-
get /configuration/monitoring-servers
{protocol}://{server}:{port}/centreon/api/{version}/configuration/monitoring-servers

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result":
    [
    ],
  • "meta":
    {
    }
}

Host

List all hosts

List all the hosts in real-time monitoring.

-

The available parameters to search / sort_by are:

-
    -
  • host.id
  • -
  • host.name
  • -
  • host.alias
  • -
  • host.address
  • -
  • host.state
  • -
  • poller.id
  • -
  • service.display_name
  • -
  • host_group.id
  • -
  • host.is_acknowledged
  • -
  • host.downtime
  • -
  • host.criticality
  • -
-
Authorizations:
query Parameters
show_service
boolean
Default: false
Example: show_service=true

Allows to display services belonging to items

-
search
object
limit
integer >= 1
Default: 10
Example: limit=20

Number of items per pages

-
page
integer >= 1
Default: 1
Example: page=4

Number of the requested page

-
sort_by
object
Example: sort_by={"host.name":"ASC"}

Sort the resulted data by its properties

-

Responses

200

OK

-
403

Forbidden

-
500

Internal Server Error

-
get /monitoring/hosts
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result":
    [
    ],
  • "meta":
    {
    }
}

Get a host

Return a single host with full details and some details about its services.

-
Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-

Responses

200

OK

-
403

Forbidden

-
404

Not Found

-
500

Internal Server Error

-
get /monitoring/hosts/{host_id}
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 12,
  • "alias": "Central",
  • "display_name": "Central",
  • "name": "Central",
  • "state": 0,
  • "services":
    [
    ],
  • "poller_id": 1,
  • "acknowledged": false,
  • "address_ip": "127.0.0.1",
  • "check_attempt": 1,
  • "checked": true,
  • "execution_time": 0.070906,
  • "icon_image": "ppm/operatingsystems-linux-snmp-linux-128.png",
  • "icon_image_alt": "",
  • "last_check": "2020-03-04T14:37:20Z",
  • "last_hard_state_change": "2020-03-04T14:37:20Z",
  • "last_state_change": "2020-03-04T14:37:20Z",
  • "last_time_down": "2020-03-04T14:37:20Z",
  • "last_time_unreachable": "2020-03-04T14:37:20Z",
  • "last_time_up": "2020-03-04T14:37:20Z",
  • "last_update": "2020-03-04T14:37:20Z",
  • "max_check_attempts": 3,
  • "output": "OK - 127.0.0.1 rta 0.100ms lost 0%\n",
  • "passive_checks": false,
  • "state_type": 0,
  • "timezone": ":Europe/Paris",
  • "scheduled_downtime_depth": 0,
  • "criticality": 10,
  • "active_checks": true,
  • "check_command": "base_host_alive",
  • "check_interval": 5,
  • "check_period": "24x7",
  • "check_type": 0,
  • "last_hard_state": "2020-03-04T14:37:20Z",
  • "last_notification": "2020-03-04T14:37:20Z",
  • "latency": 0.005,
  • "next_check": "2020-03-04T14:37:20Z",
  • "next_host_notification": 0,
  • "notification_interval": 30,
  • "notification_number": 3,
  • "notify": true,
  • "notify_on_down": true,
  • "notify_on_downtime": false,
  • "notify_on_flapping": false,
  • "notify_on_recovery": true,
  • "notify_on_unreachable": false
}

Service

List all services

List all the services in real-time monitoring.

-

The available parameters to search / sort_by are:

-
    -
  • host.id
  • -
  • host.name
  • -
  • host.alias
  • -
  • host.address
  • -
  • host.state
  • -
  • host_group.id
  • -
  • service.display_name
  • -
  • service.description
  • -
  • service.is_acknowledged
  • -
  • service.output
  • -
  • service.state
  • -
  • service_group.id
  • -
  • poller.id
  • -
  • service.downtime
  • -
  • service.criticality
  • -
-
Authorizations:
query Parameters
search
object
limit
integer >= 1
Default: 10
Example: limit=20

Number of items per pages

-
page
integer >= 1
Default: 1
Example: page=4

Number of the requested page

-
sort_by
object
Example: sort_by={"host.name":"ASC"}

Sort the resulted data by its properties

-

Responses

200

OK

-
403

Forbidden

-
500

Internal Server Error

-
get /monitoring/services
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/services

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result":
    [
    ],
  • "meta":
    {
    }
}

List services related to a host

List all services related to a host in real-time monitoring.

-

The available parameters to search / sort_by are:

-
    -
  • service.id
  • -
  • service.description
  • -
  • service.display_name
  • -
  • service_group.id
  • -
  • service.is_acknowledged
  • -
  • service.state
  • -
-
Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-
query Parameters
search
object
limit
integer >= 1
Default: 10
Example: limit=20

Number of items per pages

-
page
integer >= 1
Default: 1
Example: page=4

Number of the requested page

-
sort_by
object
Example: sort_by={"host.name":"ASC"}

Sort the resulted data by its properties

-

Responses

200

OK

-
403

Forbidden

-
404

Not Found

-
500

Internal Server Error

-
get /monitoring/hosts/{host_id}/services
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/services

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result":
    [
    ],
  • "meta":
    {
    }
}

Get a service

Return a single service with full details.

-
Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-
service_id
required
integer <int64>
Example: 5

ID of the service

-

Responses

200

OK

-
403

Forbidden

-
404

Not Found

-
500

Internal Server Error

-
get /monitoring/hosts/{host_id}/services/{service_id}
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/services/{service_id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 5,
  • "description": "Ping",
  • "display_name": "Ping",
  • "state": 0,
  • "check_attempt": 1,
  • "icon_image": "",
  • "icon_image_alt": "",
  • "last_check": "2020-03-04T14:37:20Z",
  • "last_state_change": "2020-03-04T14:37:20Z",
  • "max_check_attempts": 3,
  • "output": "OK - 127.0.0.1 rta 0.025ms lost 0%\n",
  • "state_type": 1,
  • "criticality": 10,
  • "check_command": "base_centreon_ping",
  • "check_interval": 5,
  • "check_period": "24x7",
  • "check_type": 0,
  • "command_line": "/usr/lib64/nagios/plugins/check_icmp -H 127.0.0.1 -n 5 -w 200,20% -c 400,50%",
  • "execution_time": 0.179335,
  • "is_acknowledged": false,
  • "is_active_check": true,
  • "is_checked": true,
  • "last_hard_state_change": "2020-03-04T14:37:20Z",
  • "last_notification": "2020-03-04T14:37:20Z",
  • "last_time_critical": "2020-03-04T14:37:20Z",
  • "last_time_ok": "2020-03-04T14:37:20Z",
  • "last_time_unknown": "2020-03-04T14:37:20Z",
  • "last_time_warning": "2020-03-04T14:37:20Z",
  • "last_update": "2020-03-04T14:37:20Z",
  • "latency": 0.031,
  • "next_check": "2020-03-04T14:37:20Z",
  • "performance_data": "rta=0.025ms;200.000;400.000;0; rtmax=0.061ms;;;; rtmin=0.015ms;;;; pl=0%;20;50;0;100 ",
  • "scheduled_downtime_depth": 0
}

Host Group

List all host groups by host id

List all the host groups in real-time monitoring by host id

-
Authorizations:
query Parameters
limit
integer >= 1
Default: 10
Example: limit=20

Number of items per pages

-
page
integer >= 1
Default: 1
Example: page=4

Number of the requested page

-
sort_by
object
Example: sort_by={"host.name":"ASC"}

Sort the resulted data by its properties

-

Responses

200

OK

-
403

Forbidden

-
500

Internal Server Error

-
get /monitoring/hosts/{host_id}/hostgroups
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/hostgroups

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result":
    [
    ],
  • "meta":
    {
    }
}

List all host groups

List all the host groups in real-time monitoring.

-

The available parameters to search / sort_by are:

-
    -
  • host.id
  • -
  • host.name
  • -
  • host.alias
  • -
  • host.address
  • -
  • host.state
  • -
  • poller.id
  • -
  • service.display_name
  • -
  • host_group.id
  • -
-
Authorizations:
query Parameters
show_host
boolean
Default: false
Example: show_host=true

Allows to display hosts belonging to items

-
show_service
boolean
Default: false
Example: show_service=true

Allows to display services belonging to items

-
search
object
limit
integer >= 1
Default: 10
Example: limit=20

Number of items per pages

-
page
integer >= 1
Default: 1
Example: page=4

Number of the requested page

-
sort_by
object
Example: sort_by={"host.name":"ASC"}

Sort the resulted data by its properties

-

Responses

200

OK

-
403

Forbidden

-
500

Internal Server Error

-
get /monitoring/hostgroups
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hostgroups

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result":
    [
    ],
  • "meta":
    {
    }
}

Service Group

Get service groups by host id and service id

Return a list of service groups for host-service pair.

-
Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-
service_id
required
integer <int64>
Example: 5

ID of the service

-

Responses

200

OK

-
403

Forbidden

-
404

Not Found

-
500

Internal Server Error

-
get /monitoring/hosts/{host_id}/services/{service_id}/servicegroups
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/services/{service_id}/servicegroups

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 13,
  • "name": "MySG",
  • "host":
    {
    }
}

List all service groups

List all the service groups in real-time monitoring.

-

The available parameters to search / sort_by are:

-
    -
  • host.id
  • -
  • host.name
  • -
  • host.alias
  • -
  • host.address
  • -
  • host.state
  • -
  • poller.id
  • -
  • service.display_name
  • -
  • service_group.id
  • -
  • service_group.name
  • -
-
Authorizations:
query Parameters
show_service
boolean
Default: false
Example: show_service=true

Allows to display services belonging to items

-
show_host
boolean
Default: false
Example: show_host=true

Allows to display hosts belonging to items

-
search
object
limit
integer >= 1
Default: 10
Example: limit=20

Number of items per pages

-
page
integer >= 1
Default: 1
Example: page=4

Number of the requested page

-
sort_by
object
Example: sort_by={"host.name":"ASC"}

Sort the resulted data by its properties

-

Responses

200

OK

-
403

Forbidden

-
500

Internal Server Error

-
get /monitoring/servicegroups
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/servicegroups

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result":
    [
    ],
  • "meta":
    {
    }
}

Acknowledgement

List all acknowledgements

Authorizations:
query Parameters
search
object
limit
integer >= 1
Default: 10
Example: limit=20

Number of items per pages

-
page
integer >= 1
Default: 1
Example: page=4

Number of the requested page

-
sort_by
object
Example: sort_by={"host.name":"ASC"}

Sort the resulted data by its properties

-

Responses

200

OK

-
403

Forbidden

-
500

Internal Server Error

-
get /monitoring/acknowledgements
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/acknowledgements

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result":
    [
    ],
  • "meta":
    {
    }
}

Display one acknowledgement

Display one acknowledgement.

-
Authorizations:
path Parameters
acknowledgement_id
required
integer <int64>
Example: 227

ID of the acknowledgement

-

Responses

200

OK

-
403

Forbidden

-
404

Not Found

-
500

Internal Server Error

-
get /monitoring/acknowledgements/{acknowledgement_id}
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/acknowledgements/{acknowledgement_id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 34,
  • "author_id": 3,
  • "comment": "Acknowledged by admin",
  • "deletion_time": "2020-03-04T14:37:20Z",
  • "entry_time": "2020-03-04T14:37:20Z",
  • "host_id": 12,
  • "poller_id": 1,
  • "is_notify_contacts": false,
  • "is_persistent_comment": true,
  • "is_sticky": true,
  • "state": 1,
  • "service_id": 5
}

List all hosts acknowledgements

Authorizations:
query Parameters
search
object
limit
integer >= 1
Default: 10
Example: limit=20

Number of items per pages

-
page
integer >= 1
Default: 1
Example: page=4

Number of the requested page

-
sort_by
object
Example: sort_by={"host.name":"ASC"}

Sort the resulted data by its properties

-

Responses

200

OK

-
403

Forbidden

-
500

Internal Server Error

-
get /monitoring/hosts/acknowledgements
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/acknowledgements

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result":
    [
    ],
  • "meta":
    {
    }
}

List all services acknowledgements

Authorizations:
query Parameters
search
object
limit
integer >= 1
Default: 10
Example: limit=20

Number of items per pages

-
page
integer >= 1
Default: 1
Example: page=4

Number of the requested page

-
sort_by
object
Example: sort_by={"host.name":"ASC"}

Sort the resulted data by its properties

-

Responses

200

OK

-
403

Forbidden

-
500

Internal Server Error

-
get /monitoring/services/acknowledgements
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/services/acknowledgements

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result":
    [
    ],
  • "meta":
    {
    }
}

List all acknowledgements of a host

Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-
query Parameters
search
object
limit
integer >= 1
Default: 10
Example: limit=20

Number of items per pages

-
page
integer >= 1
Default: 1
Example: page=4

Number of the requested page

-
sort_by
object
Example: sort_by={"host.name":"ASC"}

Sort the resulted data by its properties

-

Responses

200

OK

-
403

Forbidden

-
500

Internal Server Error

-
get /monitoring/hosts/{host_id}/acknowledgements
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/acknowledgements

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result":
    [
    ],
  • "meta":
    {
    }
}

Add an acknowledgement on chosen host

Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-
Request Body schema: application/json
comment
string

Short description of the acknowledgement

-
is_notify_contacts
boolean

Indicates whether notification is sent to the contacts linked to the host or service

-
is_persistent_comment
boolean

Indicates whether acknowledgement is maintained in the case of a restart of the scheduler

-
is_sticky
boolean

Indicates whether acknowledgement is maintained in the case of a change of status

-

Responses

204

Command Sent

-
403

Forbidden

-
500

Internal Server Error

-
post /monitoring/hosts/{host_id}/acknowledgements
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/acknowledgements

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "comment": "Acknowledged by admin",
  • "is_notify_contacts": false,
  • "is_persistent_comment": true,
  • "is_sticky": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

Cancel an acknowledgement on a host

Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-

Responses

204

Command Sent

-
403

Forbidden

-
500

Internal Server Error

-
delete /monitoring/hosts/{host_id}/acknowledgements
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/acknowledgements

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

List all acknowledgements of a service

Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-
service_id
required
integer <int64>
Example: 5

ID of the service

-
query Parameters
search
object
limit
integer >= 1
Default: 10
Example: limit=20

Number of items per pages

-
page
integer >= 1
Default: 1
Example: page=4

Number of the requested page

-
sort_by
object
Example: sort_by={"host.name":"ASC"}

Sort the resulted data by its properties

-

Responses

200

OK

-
403

Forbidden

-
500

Internal Server Error

-
get /monitoring/hosts/{host_id}/services/{service_id}/acknowledgements
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/services/{service_id}/acknowledgements

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result":
    [
    ],
  • "meta":
    {
    }
}

Add an acknowledgement on chosen service

Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-
service_id
required
integer <int64>
Example: 5

ID of the service

-
Request Body schema: application/json
comment
string

Short description of the acknowledgement

-
is_notify_contacts
boolean

Indicates whether notification is sent to the contacts linked to the host or service

-
is_persistent_comment
boolean

Indicates whether acknowledgement is maintained in the case of a restart of the scheduler

-
is_sticky
boolean

Indicates whether acknowledgement is maintained in the case of a change of status

-

Responses

204

Command Sent

-
403

Forbidden

-
500

Internal Server Error

-
post /monitoring/hosts/{host_id}/services/{service_id}/acknowledgements
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/services/{service_id}/acknowledgements

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "comment": "Acknowledged by admin",
  • "is_notify_contacts": false,
  • "is_persistent_comment": true,
  • "is_sticky": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

Cancel an acknowledgement on a service

Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-
service_id
required
integer <int64>
Example: 5

ID of the service

-

Responses

204

Command Sent

-
403

Forbidden

-
500

Internal Server Error

-
delete /monitoring/hosts/{host_id}/services/{service_id}/acknowledgements
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/services/{service_id}/acknowledgements

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

Downtime

List all downtimes

List all downtimes

-

The available parameters to search / sort_by are:

-
    -
  • id
  • -
  • entry_time
  • -
  • is_cancelled
  • -
  • comment
  • -
  • deletion_time
  • -
  • duration
  • -
  • end_time
  • -
  • is_fixed
  • -
  • start_time
  • -
  • host.id
  • -
  • host.name
  • -
  • host.alias
  • -
  • host.address
  • -
  • host.display_name
  • -
  • host.state
  • -
  • poller.id
  • -
  • contact.id
  • -
  • contact.name
  • -
-
Authorizations:
query Parameters
search
object
limit
integer >= 1
Default: 10
Example: limit=20

Number of items per pages

-
page
integer >= 1
Default: 1
Example: page=4

Number of the requested page

-
sort_by
object
Example: sort_by={"host.name":"ASC"}

Sort the resulted data by its properties

-

Responses

200

OK

-
403

Forbidden

-
500

Internal Server Error

-
get /monitoring/downtimes
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/downtimes

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result":
    [
    ],
  • "meta":
    {
    }
}

Display one downtime

Display one downtime.

-
Authorizations:
path Parameters
downtime_id
required
integer <int64>
Example: 329

ID of the downtime

-

Responses

200

OK

-
403

Forbidden

-
404

Not Found

-
500

Internal Server Error

-
get /monitoring/downtimes/{downtime_id}
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/downtimes/{downtime_id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 329,
  • "author_id": 3,
  • "host_id": 12,
  • "comment": "Downtime set by admin",
  • "duration": 7200,
  • "entry_time": "2020-03-04T14:37:20Z",
  • "start_time": "2020-03-04T14:37:20Z",
  • "end_time": "2020-03-04T14:37:20Z",
  • "deletion_time": null,
  • "actual_start_time": "2020-03-04T14:37:20Z",
  • "actual_end_time": null,
  • "is_started": true,
  • "is_cancelled": false,
  • "is_fixed": true,
  • "service_id": 5
}

Cancel a downtime

Cancel a downtime.

-
Authorizations:
path Parameters
downtime_id
required
integer <int64>
Example: 329

ID of the downtime

-

Responses

204

Command Sent

-
403

Forbidden

-
404

Not Found

-
500

Internal Server Error

-
delete /monitoring/downtimes/{downtime_id}
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/downtimes/{downtime_id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

List all hosts downtimes

List all downtimes of hosts

-

The available parameters to search / sort_by are:

-
    -
  • id
  • -
  • entry_time
  • -
  • is_cancelled
  • -
  • comment
  • -
  • deletion_time
  • -
  • duration
  • -
  • end_time
  • -
  • is_fixed
  • -
  • start_time
  • -
  • host.id
  • -
  • host.name
  • -
  • host.alias
  • -
  • host.address
  • -
  • host.display_name
  • -
  • host.state
  • -
  • poller.id
  • -
  • contact.id
  • -
  • contact.name
  • -
-
Authorizations:
query Parameters
search
object
limit
integer >= 1
Default: 10
Example: limit=20

Number of items per pages

-
page
integer >= 1
Default: 1
Example: page=4

Number of the requested page

-
sort_by
object
Example: sort_by={"host.name":"ASC"}

Sort the resulted data by its properties

-

Responses

200

OK

-
403

Forbidden

-
500

Internal Server Error

-
get /monitoring/hosts/downtimes
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/downtimes

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result":
    [
    ],
  • "meta":
    {
    }
}

List all services downtimes

List all downtimes of services

-

The available parameters to search / sort_by are:

-
    -
  • id
  • -
  • entry_time
  • -
  • is_cancelled
  • -
  • comment
  • -
  • deletion_time
  • -
  • duration
  • -
  • end_time
  • -
  • is_fixed
  • -
  • start_time
  • -
  • host.id
  • -
  • host.name
  • -
  • host.alias
  • -
  • host.address
  • -
  • host.display_name
  • -
  • host.state
  • -
  • poller.id
  • -
  • contact.id
  • -
  • contact.name
  • -
-
Authorizations:
query Parameters
search
object
limit
integer >= 1
Default: 10
Example: limit=20

Number of items per pages

-
page
integer >= 1
Default: 1
Example: page=4

Number of the requested page

-
sort_by
object
Example: sort_by={"host.name":"ASC"}

Sort the resulted data by its properties

-

Responses

200

OK

-
403

Forbidden

-
500

Internal Server Error

-
get /monitoring/services/downtimes
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/services/downtimes

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result":
    [
    ],
  • "meta":
    {
    }
}

List all downtimes of a host

List all downtimes of a host.

-

The available parameters to search / sort_by are:

-
    -
  • id
  • -
  • entry_time
  • -
  • is_cancelled
  • -
  • comment
  • -
  • deletion_time
  • -
  • duration
  • -
  • end_time
  • -
  • is_fixed
  • -
  • start_time
  • -
  • contact.id
  • -
  • contact.name
  • -
-
Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-
query Parameters
show_service
boolean
Default: false
Example: show_service=true

Allows to display services belonging to items

-
search
object
limit
integer >= 1
Default: 10
Example: limit=20

Number of items per pages

-
page
integer >= 1
Default: 1
Example: page=4

Number of the requested page

-
sort_by
object
Example: sort_by={"host.name":"ASC"}

Sort the resulted data by its properties

-

Responses

200

OK

-
403

Forbidden

-
500

Internal Server Error

-
get /monitoring/hosts/{host_id}/downtimes
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/downtimes

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result":
    [
    ],
  • "meta":
    {
    }
}

Add a downtime on a host

Add a downtime on a host.

-
Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-
Request Body schema: application/json
start_time
string <date-time>

Scheduled start date of the downtime (ISO8601)

-
end_time
string <date-time>

Scheduled end date of the downtime (ISO8601)

-
is_fixed
boolean

Indicates whether the downtime is fixed

-
duration
integer

Downtime duration in seconds

-
author_id
integer

ID of the contact who requested the downtime

-
comment
string

Comment of the downtime

-
with_services
boolean

Indicates whether we should add the downtime on the host-related services

-

Responses

204

Command Sent

-
403

Forbidden

-
500

Internal Server Error

-
post /monitoring/hosts/{host_id}/downtimes
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/downtimes

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "start_time": "2020-03-04T14:37:20Z",
  • "end_time": "2020-03-04T14:37:20Z",
  • "is_fixed": true,
  • "duration": 3600,
  • "author_id": 3,
  • "comment": "Downtime set by admin",
  • "with_services": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

List all downtimes of a service

List all downtimes of a service.

-

The available parameters to search / sort_by are:

-
    -
  • id
  • -
  • entry_time
  • -
  • is_cancelled
  • -
  • comment
  • -
  • deletion_time
  • -
  • duration
  • -
  • end_time
  • -
  • is_fixed
  • -
  • start_time
  • -
  • contact.id
  • -
  • contact.name
  • -
-
Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-
service_id
required
integer <int64>
Example: 5

ID of the service

-
query Parameters
search
object
limit
integer >= 1
Default: 10
Example: limit=20

Number of items per pages

-
page
integer >= 1
Default: 1
Example: page=4

Number of the requested page

-
sort_by
object
Example: sort_by={"host.name":"ASC"}

Sort the resulted data by its properties

-

Responses

200

OK

-
403

Forbidden

-
500

Internal Server Error

-
get /monitoring/hosts/{host_id}/services/{service_id}/downtimes
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/services/{service_id}/downtimes

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result":
    [
    ],
  • "meta":
    {
    }
}

Add a downtime on a service

Add a downtime on a service.

-
Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-
service_id
required
integer <int64>
Example: 5

ID of the service

-
Request Body schema: application/json
start_time
string <date-time>

Scheduled start date of the downtime (ISO8601)

-
end_time
string <date-time>

Scheduled end date of the downtime (ISO8601)

-
is_fixed
boolean

Indicates whether the downtime is fixed

-
duration
integer

Downtime duration in seconds

-
author_id
integer

ID of the contact who requested the downtime

-
comment
string

Comment of the downtime

-

Responses

204

Command Sent

-
403

Forbidden

-
500

Internal Server Error

-
post /monitoring/hosts/{host_id}/services/{service_id}/downtimes
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/services/{service_id}/downtimes

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "start_time": "2020-03-04T14:37:20Z",
  • "end_time": "2020-03-04T14:37:20Z",
  • "is_fixed": true,
  • "duration": 3600,
  • "author_id": 3,
  • "comment": "Downtime set by admin"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

Check

Check host

Schedule immediate check on chosen host

-
Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-
Request Body schema: application/json
is_forced
boolean

Indicates whether the check is forced (do not take into account the check timeperiod)

-

Responses

204

Command Sent

-
403

Forbidden

-
404

Host not found

-
500

Internal Server Error

-
post /monitoring/hosts/{host_id}/check
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/check

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "is_forced": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

Check service

Schedule immediate check on chosen service

-
Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-
service_id
required
integer <int64>
Example: 5

ID of the service

-
Request Body schema: application/json
is_forced
boolean

Indicates whether the check is forced (do not take into account the check timeperiod)

-

Responses

204

Command Sent

-
403

Forbidden

-
404

Host or service not found

-
500

Internal Server Error

-
post /monitoring/hosts/{host_id}/services/{service_id}/check
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/services/{service_id}/check

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "is_forced": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

Metrics

Get service metrics data

Get metrics data from a service between given interval

-
Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-
service_id
required
integer <int64>
Example: 5

ID of the service

-
start
required
string <date-time>
Example: 2020-02-18T00:00:00

start of the interval (ISO8601)

-
end
required
string <date-time>
Example: 2020-02-18T12:00:00

end of the interval (ISO8601)

-

Responses

200

OK

-
403

Forbidden

-
404

Host or service not found

-
500

Internal Server Error

-
get /monitoring/hosts/{host_id}/services/{service_id}/metrics/start/{start}/end/{end}
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/services/{service_id}/metrics/start/{start}/end/{end}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "global":
    {
    },
  • "metrics":
    [
    ],
  • "times":
    [
    ]
}

Get service status data

Get status data from a service between given interval

-
Authorizations:
path Parameters
host_id
required
integer <int64>
Example: 12

ID of the host

-
service_id
required
integer <int64>
Example: 5

ID of the service

-
start
required
string <date-time>
Example: 2020-02-18T00:00:00

start of the interval (ISO8601)

-
end
required
string <date-time>
Example: 2020-02-18T12:00:00

end of the interval (ISO8601)

-

Responses

200

OK

-
403

Forbidden

-
404

Host or service not found

-
500

Internal Server Error

-
get /monitoring/hosts/{host_id}/services/{service_id}/status/start/{start}/end/{end}
{protocol}://{server}:{port}/centreon/api/{version}/monitoring/hosts/{host_id}/services/{service_id}/status/start/{start}/end/{end}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "critical":
    [
    ],
  • "warning":
    [
    ],
  • "ok":
    [
    ],
  • "unknown":
    [
    ]
}
- - - - \ No newline at end of file