POST
/
v1
/
dashboards
Create a dashboard
curl --request POST \
  --url https://api.checklyhq.com/v1/dashboards \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
  "customUrl": "status",
  "customDomain": "https://status.mycompany.com/",
  "logo": "https://static.mycompany.com/static/images/logo.svg",
  "favicon": "https://static.mycompany.com/static/images/icon.svg",
  "link": "https://www.mycompany.com/",
  "header": "My company status",
  "description": "My dashboard description",
  "width": "FULL",
  "refreshRate": 60,
  "paginate": true,
  "paginationRate": 60,
  "checksPerPage": 15,
  "useTagsAndOperator": false,
  "hideTags": false,
  "enableIncidents": false,
  "expandChecks": false,
  "tags": [
    "production"
  ],
  "showHeader": true,
  "showCheckRunLinks": false,
  "customCSS": "",
  "isPrivate": false,
  "showP95": true,
  "showP99": true,
  "keys": [
    {
      "id": "<string>",
      "rawKey": "da_a89026d28a0c45cf9e11b4c3637f3912",
      "maskedKey": "...6a1e",
      "created_at": "2023-12-25",
      "updated_at": "2023-12-25"
    }
  ]
}'
{
  "customDomain": "https://status.mycompany.com/",
  "customUrl": "status",
  "logo": "https://static.mycompany.com/static/images/logo.svg",
  "favicon": "https://static.mycompany.com/static/images/icon.svg",
  "link": "https://www.mycompany.com/",
  "description": "My dashboard description",
  "width": "FULL",
  "refreshRate": 60,
  "paginate": true,
  "paginationRate": 60,
  "checksPerPage": 15,
  "useTagsAndOperator": false,
  "hideTags": false,
  "enableIncidents": false,
  "expandChecks": false,
  "tags": [
    "production"
  ],
  "showHeader": true,
  "showCheckRunLinks": false,
  "customCSS": "",
  "isPrivate": false,
  "showP95": true,
  "showP99": true,
  "keys": [
    {
      "id": "<string>",
      "rawKey": "da_a89026d28a0c45cf9e11b4c3637f3912",
      "maskedKey": "...6a1e",
      "created_at": "2023-12-25",
      "updated_at": "2023-12-25"
    }
  ],
  "id": 123,
  "dashboardId": "1",
  "created_at": "2023-11-07T05:31:56Z",
  "header": "<string>"
}

Overview

The Create Dashboard endpoint allows you to create new monitoring dashboards for displaying check results, performance metrics, and status information. Configure dashboard layout, check assignments, and access settings. Common Use Cases:
  • Team Dashboard Creation
  • Public Status Displays
  • Executive Reporting
  • Custom Monitoring Views
Dashboards can be configured for public access or restricted to team members. Choose appropriate visibility settings based on your use case.

Authorizations

Authorization
string
header
required

The Checkly Public API uses API keys to authenticate requests. You can get the API Key here.

Your API key is like a password: keep it secure!

Authentication to the API is performed using the Bearer auth method in the Authorization header and using the account ID.

For example, set Authorization header while using cURL:

curl -H "Authorization: Bearer [apiKey]" "X-Checkly-Account: [accountId]"

Headers

x-checkly-account
string

Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general

Body

application/json
header
string
required

A piece of text displayed at the top of your dashboard.

Example:

"My company status"

customUrl
string

A subdomain name under "checklyhq.com". Needs to be unique across all users.

Example:

"status"

customDomain
string

A custom user domain, e.g. "status.example.com". See the docs on updating your DNS and SSL usage.

Example:

"https://status.mycompany.com/"

A URL pointing to an image file.

Example:

"https://static.mycompany.com/static/images/logo.svg"

favicon
string

A URL pointing to an image file used as dashboard favicon.

Example:

"https://static.mycompany.com/static/images/icon.svg"

A URL link to redirect when dashboard logo is clicked on.

Example:

"https://www.mycompany.com/"

description
string

A piece of text displayed below the header or title of your dashboard.

Example:

"My dashboard description"

width
enum<string>
default:FULL

Determines whether to use the full screen or focus in the center.

Available options:
FULL,
960PX
refreshRate
enum<number>
default:60

How often to refresh the dashboard in seconds.

Available options:
60,
300,
600
paginate
boolean
default:true

Determines of pagination is on or off.

paginationRate
enum<number>
default:60

How often to trigger pagination in seconds.

Available options:
30,
60,
300
checksPerPage
number
default:15

Number of checks displayed per page.

Required range: 1 <= x <= 20
useTagsAndOperator
boolean
default:false

When to use AND operator for tags lookup.

hideTags
boolean
default:false

Show or hide the tags on the dashboard.

enableIncidents
boolean
default:false

Enable or disable incidents on the dashboard.

expandChecks
boolean
default:false

Expand or collapse checks on the dashboard.

tags
string[]

A list of one or more tags that filter which checks to display on the dashboard.

Example:
["production"]
showHeader
boolean
default:true

Show or hide header and description on the dashboard.

Show or hide check run links on the dashboard.

customCSS
string
default:""

Custom CSS to be applied to the dashboard.

isPrivate
boolean
default:false

Determines if the dashboard is public or private.

showP95
boolean
default:true

Show or hide the P95 stats on the dashboard.

showP99
boolean
default:true

Show or hide the P99 stats on the dashboard.

keys
object[]

Show key for private dashboard.

Response

Created

id
number
required
dashboardId
string
required
Example:

"1"

created_at
string<date-time>
required
customDomain
string

A custom user domain, e.g. "status.example.com". See the docs on updating your DNS and SSL usage.

Example:

"https://status.mycompany.com/"

customUrl
string

A subdomain name under "checklyhq.com". Needs to be unique across all users.

Example:

"status"

A URL pointing to an image file.

Example:

"https://static.mycompany.com/static/images/logo.svg"

favicon
string

A URL pointing to an image file used as dashboard favicon.

Example:

"https://static.mycompany.com/static/images/icon.svg"

A URL link to redirect when dashboard logo is clicked on.

Example:

"https://www.mycompany.com/"

description
string

A piece of text displayed below the header or title of your dashboard.

Example:

"My dashboard description"

width
enum<string>
default:FULL

Determines whether to use the full screen or focus in the center.

Available options:
FULL,
960PX
refreshRate
enum<number>
default:60

How often to refresh the dashboard in seconds.

Available options:
60,
300,
600
paginate
boolean
default:true

Determines of pagination is on or off.

paginationRate
enum<number>
default:60

How often to trigger pagination in seconds.

Available options:
30,
60,
300
checksPerPage
number
default:15

Number of checks displayed per page.

Required range: 1 <= x <= 20
useTagsAndOperator
boolean
default:false

When to use AND operator for tags lookup.

hideTags
boolean
default:false

Show or hide the tags on the dashboard.

enableIncidents
boolean
default:false

Enable or disable incidents on the dashboard.

expandChecks
boolean
default:false

Expand or collapse checks on the dashboard.

tags
string[]

A list of one or more tags that filter which checks to display on the dashboard.

Example:
["production"]
showHeader
boolean
default:true

Show or hide header and description on the dashboard.

Show or hide check run links on the dashboard.

customCSS
string
default:""

Custom CSS to be applied to the dashboard.

isPrivate
boolean
default:false

Determines if the dashboard is public or private.

showP95
boolean
default:true

Show or hide the P95 stats on the dashboard.

showP99
boolean
default:true

Show or hide the P99 stats on the dashboard.

keys
object[]

Show key for private dashboard.

header
string