Median

PATCH /site/appearance

Updated Oct 1, 20261 minute read

Change the site's appearance

Only what is sent changes. Custom CSS loads after the theme, so it wins; it styles tokens like --site-accent and parts like [data-part="hero"]. Admins and owners only.

Part of Site.

Request body

application/json, optional.

FieldTypeRequiredDescription
theme"paper"No
scheme"system" | "light" | "dark"No
navigation"top" | "sidebar" | "topics"NoA bar across the top, a sidebar with each collection's articles under it, or a sidebar listing the collections alone. Sites that never set it get sidebar.
accentanyNoA hex color like #4f46e5, or null to use the theme's own.
cssstringNoReplaces the whole stylesheet, up to 60,000 characters. An empty string removes it.

Responses

StatusDescription
200The appearance, as it now reads.
400The request is malformed, and the message names the field.
401The bearer token is missing, revoked, or expired.
429Too many requests. Wait the seconds in Retry-After. Limits depend on the plan. See rate limits.

200 body

FieldTypeRequiredDescription
theme"paper"No
scheme"system" | "light" | "dark"No
navigation"top" | "sidebar" | "topics"NoA bar across the top, a sidebar with each collection's articles under it, or a sidebar listing the collections alone.
accentanyNoA hex color, or null for the theme's own.
cssstringNoThe custom stylesheet. Empty when there is none.

Example request

curl -X PATCH https://api.median.sh/v1/site/appearance \
  -H "Authorization: Bearer $BEARER_AUTH"

Still need help?

    Esc