Sites

Get site metadata

Returns metadata for the site associated with your API key. No parameters are needed — the site is determined entirely by the API key.

Use this as your first authenticated call to verify your API key works. The response includes the site's unique ID (UUID), publication status, custom domain (if configured), URL slug, and title from Notion.

There is only one site per API key, so this endpoint always returns exactly one site.

GET /site

Get site metadata

curl --request GET \
  --url 'https://api.sotion.so/api/v1/site' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "data": {
    "id": "<uuid>",
    "status": "<string>",
    "domain": "<string>",
    "slug": "<string>",
    "title": "<string>"
  }
}

Site metadata.

Authorizations

  • Authorization string required header

    Per-site API key (prefix: so_...). Each key is scoped to exactly one Sotion site — the site context is determined entirely by the key. No site ID is needed in any URL. Pass as: Authorization: Bearer so_...

Response

application/json
  • X-RateLimit-Limit integer response header

    Maximum requests allowed in the current window.

  • X-RateLimit-Remaining integer response header

    Requests remaining in the current window.

  • X-RateLimit-Reset integer response header

    Unix timestamp (seconds) when the rate limit window resets.

  • X-Request-Id string (uuid) response header

    Unique request identifier for support and debugging.

  • data object
    + Show Child Attributes
    • id string (uuid)

      Unique identifier (UUID) for the site.

    • status string

      Publication status of the site (e.g., 'published', 'draft').

    • domain string nullable

      Custom domain if configured (e.g., 'docs.example.com'), null otherwise.

    • slug string

      URL slug used in the default sotion.site subdomain (e.g., 'my-site' for my-site.sotion.site).

    • title string nullable

      Site title from Notion, null if not set.