cachet-node is an implementation of the Cachet API. This API is automatically generated based
on a swagger documentation file on cachet-swagger through the use of
swagger-js-codegen.
In order to start leveraging the cachet-node library you will generally have an API key located under your Teams ->
User area. This is going to be necessary to do anything that is not a read-only event. You only need to set this
information once you have initialized the library.
constCachet=require('cachet-node').Cachet;
constcachet=newCachet({
domain:'https://status.yourdomain.com/api/v1',
token:{
value:'token value from user',
headerOrQueryName:'X-Cachet-Token'
}
});
Now you can start to leverage one of the many functions such as fetching the current version:
Note that all of the methods will provide back a promise with the exception of the setToken method (not documented as
you can use the constructor).
This library also makes heavy use of a request object, what you are receiving back is the what the request provides raw
and that is where you will need to utilize the "body" parameter.
Parameters
Note that all parameters must be passed in via a JavaScript object. Anytime you are creating, it requires a body
parameter. You can find such parameters in the swagger file in cachet-swagger until this documentation reflects all of
the methods and functionality of the endpoint.
General
ping
Ping the status system to ensure it is available.
Request
cachet.ping()
Response
{
"data":"Pong!"
}
version
Fetch the current version of the system.
Request
cachet.version()
Response
{
"meta":{
"on_latest":true,
"latest":{
"tag_name":"v2.3.10",
"prelease":false,
"draft":false
}
},
"data":"2.4.0-dev"
}
Components
getComponents
Fetch all of the components.
Parameters
sort
order
perPage
page
id
name
status
groupId
enabled
Request
cachet.getComponents({... parameters ...})
Response
{
"meta":{
"pagination":{
"total":1,
"count":1,
"per_page":20,
"current_page":1,
"total_pages":1,
"links":{
"next_page":null,
"previous_page":null
}
}
},
"data":[
{
"id":1,
"name":"Example",
"description":"",
"status":1,
"order":0,
"group_id":1,
"created_at":"2017-01-05 16:52:00",
"updated_at":"2017-01-06 02:27:32",
"deleted_at":null,
"enabled":true,
"meta":null,
"link":"https://status.example.com",
"status_name":"Operational",
"tags":{
"":""
}
}
]
}
getComponentById
Parameters
component
Request
cachet.getComponentById({
component:4
})
Response
{
"data":{
"id":4,
"name":"Foo",
"description":"",
"status":0,
"order":0,
"group_id":0,
"created_at":"2017-01-06 19:51:29",
"updated_at":"2017-01-06 19:52:59",
"deleted_at":null,
"enabled":false,
"meta":null,
"link":"",
"status_name":"Unknown",
"tags":[]
}
}
createComponent
Parameters
body
name
description
status
link
order
group_id
enabled
Request
cachet.createComponent({
body:{
name:'Foo'
}
})
Response
{
"data":{
"order":0,
"group_id":0,
"description":"",
"link":"",
"enabled":true,
"meta":null,
"name":"Foo",
"status":0,
"updated_at":"2017-01-06 19:51:29",
"created_at":"2017-01-06 19:51:29",
"id":4,
"status_name":"Unknown",
"tags":[]
}
}
updateComponentById
Parameters
component
body
name
status
link
order
group_id
enabled
Request
cachet.createComponent({
component:4,
body:{
enabled:0
}
})
Response
{
"data":{
"id":4,
"name":"Foo",
"description":"",
"status":0,
"order":0,
"group_id":0,
"created_at":"2017-01-06 19:51:29",
"updated_at":"2017-01-06 19:52:59",
"deleted_at":null,
"enabled":false,
"meta":null,
"link":"",
"status_name":"Unknown",
"tags":[]
}
}
deleteComponentById
Parameters
component
Request
cachet.deleteComponentById({
component:4
})
Response
There is no response for this other than the status code.
Component Groups
getComponentGroups
Parameters
id
name
collapsed
sort
order
perPage
page
Request
cachet.getComponentGroups({... parameters ...})
Response
{
"meta":{
"pagination":{
"total":1,
"count":1,
"per_page":20,
"current_page":1,
"total_pages":1,
"links":{
"next_page":null,
"previous_page":null
}
}
},
"data":[
{
"id":1,
"name":"Example Group",
"created_at":"2017-01-05 16:52:50",
"updated_at":"2017-01-05 16:53:23",
"order":0,
"collapsed":0,
"visible":1,
"enabled_components":[
{
"id":1,
"name":"Example",
"description":"",
"status":1,
"order":0,
"group_id":1,
"created_at":"2017-01-05 16:52:00",
"updated_at":"2017-01-06 02:27:32",
"deleted_at":null,
"enabled":true,
"meta":null,
"link":"https://status.example.com",
"status_name":"Operational",
"tags":{
"":""
}
}
],
"enabled_components_lowest":[
{
"id":1,
"name":"Example",
"description":"",
"status":1,
"order":0,
"group_id":1,
"created_at":"2017-01-05 16:52:00",
"updated_at":"2017-01-06 02:27:32",
"deleted_at":null,
"enabled":true,
"meta":null,
"link":"https://status.example.com",
"status_name":"Operational",
"tags":{
"":""
}
}
],
"lowest_human_status":"Operational"
}
]
}
createComponentGroup
Parameters
name
order
collapsed
Request
cachet.createComponentGroup({
body:{
name:'Foo Group'
}
})
Response
{
"data":{
"order":0,
"collapsed":0,
"visible":0,
"name":"Foo Group",
"updated_at":"2017-01-06 20:06:49",
"created_at":"2017-01-06 20:06:49",
"id":2,
"lowest_human_status":null
}
}
getComponentGroupById
Parameters
group
Request
cachet.getComponentGroupById({
group:2
})
Response
{
"data":{
"id":2,
"name":"Foo Group",
"created_at":"2017-01-06 20:06:49",
"updated_at":"2017-01-06 20:06:49",
"order":0,
"collapsed":0,
"visible":0,
"enabled_components":[],
"enabled_components_lowest":[],
"lowest_human_status":null
}
}
updateComponentGroupById
Parameters
group
body
name
order
collapsed
Request
cachet.updateComponentGroupById({
group:2,
body:{
order:10
}
})
Response
{
"data":{
"id":2,
"name":"Foo Group",
"created_at":"2017-01-06 20:06:49",
"updated_at":"2017-01-06 20:09:43",
"order":10,
"collapsed":0,
"visible":0,
"enabled_components":[],
"enabled_components_lowest":[],
"lowest_human_status":null
}
}
deleteComponentGroupById
Parameters
group
Request
cachet.deleteComponentGroupById({
group:2
})
Response
There is no response for this other than the status code.
Incidents
getIncidents
Parameters
id
componentId
name
status
visible
sort
order
perPage
page
Request
cachet.getIncidents({... parameters ...})
Response
{
"meta":{
"pagination":{
"total":1,
"count":1,
"per_page":"20",
"current_page":1,
"total_pages":1,
"links":{
"next_page":null,
"previous_page":null
}
}
},
"data":[
{
"id":1,
"component_id":0,
"name":"Incident Name",
"status":4,
"visible":1,
"message":"Incident Message",
"scheduled_at":"2015-08-01 12:00:00",
"created_at":"2015-08-01 12:00:00",
"updated_at":"2015-08-01 12:00:00",
"deleted_at":null,
"human_status":"Fixed"
}
]
}
createIncident
Parameters
body
name
message
status
visible
component_id
component_status
notify
created_at
template
vars
Request
cachet.createIncident({
body:{
name:'Incident Name',
message:'Incident Message',
status:4,
visible:1
}
})
Response
{
"data":{
"id":1,
"component_id":0,
"name":"Incident Name",
"status":4,
"visible":1,
"message":"Incident Message",
"scheduled_at":"2015-08-01 12:00:00",
"created_at":"2015-08-01 12:00:00",
"updated_at":"2015-08-01 12:00:00",
"deleted_at":null,
"human_status":"Fixed"
}
}
getIncidentById
Parameters
incident
Request
cachet.getIncidentById({
incident:1
})
Response
{
"data":{
"id":1,
"component_id":0,
"name":"Incident Name",
"status":4,
"visible":1,
"message":"Incident Message",
"scheduled_at":"2015-08-01 12:00:00",
"created_at":"2015-08-01 12:00:00",
"updated_at":"2015-08-01 12:00:00",
"deleted_at":null,
"human_status":"Fixed"
}
}
updateIncidentById
Parameters
incident
body
name
message
status
visible
component_id
component_status
notify
Request
cachet.updateIncidentById({
incident:1,
body:{
name:'Foo'
}
})
Response
{
"data":{
"id":1,
"component_id":0,
"name":"Foo",
"status":4,
"visible":1,
"message":"Incident Message",
"scheduled_at":"2015-08-01 12:00:00",
"created_at":"2015-08-01 12:00:00",
"updated_at":"2015-08-01 12:00:01",
"deleted_at":null,
"human_status":"Fixed"
}
}
deleteIncidentById
Parameters
incident
Request
cachet.deleteIncidentById({
incident:1
})
Response
There is no response for this other than the status code.
There is no response for this other than the status code.
getMetricPointsById
Parameters
metric
sort
order
perPage
page
Request
cachet.getMetricPointsById({
metric:1
})
Response
{
"data":[
{
"id":1,
"metric_id":1,
"value":1,
"created_at":"2015-03-11 14:21:44",
"updated_at":"2015-03-11 14:21:44"
},
{
"id":2,
"metric_id":1,
"value":3,
"created_at":"2015-03-11 14:22:11",
"updated_at":"2015-03-11 14:22:11"
},
{
"id":3,
"metric_id":1,
"value":3,
"created_at":"2015-03-11 14:34:55",
"updated_at":"2015-03-11 14:34:55"
}
]
}
createMetricPointById
Parameters
metric
body
value
timestamp
Request
cachet.createMetricPointById({
metric:1,
body:{
value:3
timestamp:'2015-03-11 14:34:55'
}
}
Response
{
"data":[
{
"id":1,
"metric_id":1,
"value":1,
"created_at":"2015-03-11 14:21:44",
"updated_at":"2015-03-11 14:21:44"
},
{
"id":2,
"metric_id":1,
"value":3,
"created_at":"2015-03-11 14:22:11",
"updated_at":"2015-03-11 14:22:11"
},
{
"id":3,
"metric_id":1,
"value":3,
"created_at":"2015-03-11 14:34:55",
"updated_at":"2015-03-11 14:34:55"
}
]
}
deleteMetricPointById
Parameters
metric
point
Request
cachet.deleteMetricPointById({
metric:1,
point:3
})
Response
There is no response for this other than the status code.
Contributing
Contributions in this repository can be documentation and/or build changes. Since the code is automatically generated
no changes to the index.js file will be taken.