Skip to content

Import status pages from UptimeRobot or Better Stack with an API key for that tool. Each page is created with the same name, groups and components, showing the monitors already in this account that match the tool's by URL or heartbeat name: import the monitors first. Pages whose name is taken are skipped. Custom domains, passwords and branding do not carry over; each page lists what did not. `dry_run` reports without creating anything.

POST
/status_page/import
curl --request POST \
--url https://api.siteqwality.com/status_page/import \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "source": "uptimerobot", "api_key": "example", "dry_run": true }'
Media type application/json
object
source
required

uptimerobot or betterstack; Pingdom’s and StatusCake’s APIs have no status pages.

string
Allowed values: uptimerobot pingdom statuscake betterstack
api_key
required

An API key or token for that tool; a read-only one is enough. It is used for this request only and never stored.

string
dry_run

Report what would happen without creating anything.

boolean

Each page’s outcome

Media type application/json
object
source
required

The tool to import from.

string
Allowed values: uptimerobot pingdom statuscake betterstack
dry_run
required
boolean
created
required
integer
would_create
required
integer
skipped
required
integer
failed
required
integer
not_attempted
required

Pages left when time ran out; running the import again adds them.

integer
pages
required
Array<object>
object
source_id
required

The page’s id in the other tool.

string
name
required
string
status
required
string
Allowed values: created would_create skipped failed not_attempted
id

The new status page’s id.

string | null format: uuid
message

Why the page was skipped, failed or not attempted.

string | null
warnings
required

What does not carry over, such as a custom domain or a password.

Array<string>
components
required

What the page shows, in order.

Array<object>
object
name
required
string
group

The group it sits in; null for the ungrouped list.

string | null
included
required

Whether it is on the page (or, in a dry run, would be).

boolean
monitor_id

The monitor it shows: one of yours, matched by URL or heartbeat name. Null for a component whose status you set yourself.

string | null format: uuid
message

Why it is left off the page.

string | null
Example
{
"source": "uptimerobot",
"pages": [
{
"status": "created"
}
]
}

No API key, or the tool’s API has no status pages

Missing or invalid authentication

The tool refused the API key; the message has its reason

The tool is rate limiting the key; wait and try again

The tool could not be reached or sent an unreadable answer