curl --request POST \
--url https://statusstack.com/api/v1/stacks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>'})
};
fetch('https://statusstack.com/api/v1/stacks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://statusstack.com/api/v1/stacks"
payload = { "name": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"slug": "<string>",
"description": "<string>",
"stack_type": "application",
"visibility": "public",
"public_url": "<string>",
"theme": "auto",
"layout": "grid",
"custom_logo_url": "<string>",
"refresh_interval": 30,
"show_timestamps": true,
"show_component_names": true,
"show_incident_history": true,
"incident_history_days": 123,
"metadata": {},
"settings": {},
"view_count": 123,
"subscriber_count": 123,
"health_percentage": 123,
"sources_count": 123,
"components_count": 123,
"active_subscribers_count": 123,
"team_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"parent_stack_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z",
"team": {},
"parent_stack": "<unknown>",
"child_stacks": "<array>",
"sources": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"type": "salesforce",
"url": "<string>",
"components": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"source_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"latest_status": "operational",
"description": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"components": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"source_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"latest_status": "operational",
"description": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"links": {
"self": "<string>",
"public": "<string>"
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"message": "<string>",
"errors": {}
}{
"message": "<string>",
"errors": {}
}Create a new stack
Requires a team-scoped API key with the write permission, and consumes stack quota.
curl --request POST \
--url https://statusstack.com/api/v1/stacks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>'})
};
fetch('https://statusstack.com/api/v1/stacks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://statusstack.com/api/v1/stacks"
payload = { "name": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"slug": "<string>",
"description": "<string>",
"stack_type": "application",
"visibility": "public",
"public_url": "<string>",
"theme": "auto",
"layout": "grid",
"custom_logo_url": "<string>",
"refresh_interval": 30,
"show_timestamps": true,
"show_component_names": true,
"show_incident_history": true,
"incident_history_days": 123,
"metadata": {},
"settings": {},
"view_count": 123,
"subscriber_count": 123,
"health_percentage": 123,
"sources_count": 123,
"components_count": 123,
"active_subscribers_count": 123,
"team_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"parent_stack_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z",
"team": {},
"parent_stack": "<unknown>",
"child_stacks": "<array>",
"sources": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"type": "salesforce",
"url": "<string>",
"components": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"source_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"latest_status": "operational",
"description": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"components": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"source_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"latest_status": "operational",
"description": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"links": {
"self": "<string>",
"public": "<string>"
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"message": "<string>",
"errors": {}
}{
"message": "<string>",
"errors": {}
}Authorizations
StatusStack authenticates requests with API keys, created via the dashboard with granular permissions (read, write, delete, admin, *).
API keys support version compatibility:
- v1 keys: Can only access v1 endpoints
- v2 keys: Can access both v1 and v2 endpoints
Available permissions:
read: View resources (GET requests)write: Create and update resources (POST, PUT requests)delete: Delete resources (DELETE requests)admin: Administrative access to all resources*: Wildcard permission (all actions allowed)
Body
255The types a stack may be created as. Excludes the legacy status_page.
application, tech, business, custom Who may view the stack's public page. password requires a password on the
create/update request.
public, private, password, unlisted Lowercase letters, numbers, dashes and underscores. Generated from name when null or omitted.
2551000Required when visibility is password. Must not be sent for any other visibility.
8 - 255500Colour scheme of the public page. auto follows the viewer's system preference.
auto, light, dark How components are arranged on the public page.
grid, list, compact How often the public page auto-refreshes, in seconds.
10 <= x <= 300Free-form stack settings. The public status page contact methods are validated keys; anything else is passed through.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
Stack created
What the stack groups together, as stored. status_page is legacy: it is never
selectable on create, and on update it is accepted only when it is already the
stack's current type.
application, tech, business, custom, status_page Who may view the stack's public page. password requires a password on the
create/update request.
public, private, password, unlisted Colour scheme of the public page. auto follows the viewer's system preference.
auto, light, dark How components are arranged on the public page.
grid, list, compact How often the public page auto-refreshes, in seconds.
10 <= x <= 300Only present on responses that computed it, such as /v1/stacks/{stack_id}/health.
Present on list responses and on create/update, which load counts rather than full relationships.
The owning team. Included only for a viewer who may update the stack, so an unauthorised viewer never sees it.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?

