Skip to content

Change a status page's branding.

PATCH
/v1/status-pages/{status_page_id}/branding
curl --request PATCH \
--url https://api.siteqwality.com/v1/status-pages/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/branding \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "page_title": "example", "default_theme": "example", "logo_s3_key": "example", "logo_dark_s3_key": "example", "favicon_s3_key": "example", "og_image_s3_key": "example", "primary_color": "example", "accent_color": "example", "header_text": "example", "footer_text": "example", "white_label": true, "meta_description": "example", "custom_css": "example" }'
status_page_id
required
string format: uuid
Idempotency-Key
string
<= 255 characters

Makes a retry safe: the same key and body within 24 hours returns the first response with Idempotent-Replayed: true. The same key with another body is refused with 422 idempotency_key_reused, and one still running with 409 idempotency_key_in_use.

Media type application/json

A field left out keeps its value and null clears it: default_theme goes back to system, white_label to false, and every other field to unset. An empty or blank text field clears it too.

object
page_title

At most 100 characters.

string | null
default_theme

light, dark or system.

string | null
logo_s3_key

The s3_key an upload of type logo returned.

string | null
logo_dark_s3_key

The s3_key an upload of type logo_dark returned: the logo the page shows in its dark theme. Without it the page shows the logo in both.

string | null
favicon_s3_key
string | null
og_image_s3_key
string | null
primary_color

#rrggbb. Colors the page title (without a logo) and headings.

string | null
accent_color

#rrggbb. Colors the subscribe button, links, focus ring and chart line; falls back to primary_color. The page adjusts both colors per theme where needed to keep text and controls readable.

string | null
header_text

At most 500 characters.

string | null
footer_text

At most 500 characters.

string | null
white_label

Hides the “Powered by Site Qwality” badge. true needs the White-Label pack.

boolean | null
meta_description

At most 160 characters.

string | null
custom_css

At most 50 KB.

string | null
Example generated
{
"page_title": "example",
"default_theme": "example",
"logo_s3_key": "example",
"logo_dark_s3_key": "example",
"favicon_s3_key": "example",
"og_image_s3_key": "example",
"primary_color": "example",
"accent_color": "example",
"header_text": "example",
"footer_text": "example",
"white_label": true,
"meta_description": "example",
"custom_css": "example"
}

The branding; fields left out keep their values, null clears one

Media type application/json
object
status_page_id
required
string
page_title
string | null
default_theme
required
string
logo_s3_key
string | null
logo_dark_s3_key
string | null
favicon_s3_key
string | null
og_image_s3_key
string | null
logo_url

CDN URLs of the assets above, for previews.

string | null
logo_dark_url
string | null
favicon_url
string | null
og_image_url
string | null
primary_color
string | null
accent_color
string | null
header_text
string | null
footer_text
string | null
white_label
required
boolean
meta_description
string | null
custom_css
string | null
Example generated
{
"status_page_id": "example",
"page_title": "example",
"default_theme": "example",
"logo_s3_key": "example",
"logo_dark_s3_key": "example",
"favicon_s3_key": "example",
"og_image_s3_key": "example",
"logo_url": "example",
"logo_dark_url": "example",
"favicon_url": "example",
"og_image_url": "example",
"primary_color": "example",
"accent_color": "example",
"header_text": "example",
"footer_text": "example",
"white_label": true,
"meta_description": "example",
"custom_css": "example"
}
Idempotent-Replayed
string

true when this is the stored first response

Invalid request body

Media type application/problem+json

An RFC 9457 problem, the body of every /v1 error.

object
type
required

https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.

string
title
required
string
status
required
integer format: int32
detail
string | null
instance

urn:uuid: and the request id.

string | null
errors

The invalid fields, when the request body was refused.

array | null

One validation failure; pointer is an RFC 6901 pointer into the request body.

object
pointer
required
string
detail
required
string
Example generated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"errors": [
{
"pointer": "example",
"detail": "example"
}
]
}

Missing or invalid credentials

Media type application/problem+json

An RFC 9457 problem, the body of every /v1 error.

object
type
required

https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.

string
title
required
string
status
required
integer format: int32
detail
string | null
instance

urn:uuid: and the request id.

string | null
errors

The invalid fields, when the request body was refused.

array | null

One validation failure; pointer is an RFC 6901 pointer into the request body.

object
pointer
required
string
detail
required
string
Example generated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"errors": [
{
"pointer": "example",
"detail": "example"
}
]
}

The key or member may not do this, or lacks the scope it needs

Media type application/problem+json

An RFC 9457 problem, the body of every /v1 error.

object
type
required

https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.

string
title
required
string
status
required
integer format: int32
detail
string | null
instance

urn:uuid: and the request id.

string | null
errors

The invalid fields, when the request body was refused.

array | null

One validation failure; pointer is an RFC 6901 pointer into the request body.

object
pointer
required
string
detail
required
string
Example generated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"errors": [
{
"pointer": "example",
"detail": "example"
}
]
}

No such status page in this account

Media type application/problem+json

An RFC 9457 problem, the body of every /v1 error.

object
type
required

https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.

string
title
required
string
status
required
integer format: int32
detail
string | null
instance

urn:uuid: and the request id.

string | null
errors

The invalid fields, when the request body was refused.

array | null

One validation failure; pointer is an RFC 6901 pointer into the request body.

object
pointer
required
string
detail
required
string
Example generated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"errors": [
{
"pointer": "example",
"detail": "example"
}
]
}

Too many requests; wait for the time in Retry-After

Media type application/problem+json

An RFC 9457 problem, the body of every /v1 error.

object
type
required

https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.

string
title
required
string
status
required
integer format: int32
detail
string | null
instance

urn:uuid: and the request id.

string | null
errors

The invalid fields, when the request body was refused.

array | null

One validation failure; pointer is an RFC 6901 pointer into the request body.

object
pointer
required
string
detail
required
string
Example generated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"errors": [
{
"pointer": "example",
"detail": "example"
}
]
}