GET /v1/sites/me
Return basic metadata about the site that owns the API key. This is the canonical way to resolve the site’s public domain (to build verification URLs) and its default language, without hardcoding them in the consumer.
- URL:
https://api.canverly.com/v1/sites/me - Method:
GET - Auth: Bearer API key — scope
sites:read - Rate limit: 60 req/min per key
No parameters — the site is inferred from the key. There is no :id to pass; to inspect another site, use a key minted on that site.
Example
Section titled “Example”curl https://api.canverly.com/v1/sites/me \ -H "Authorization: Bearer ck_live_xxx"Response
Section titled “Response”200 OK
Section titled “200 OK”{ "id": "01KVPWYKT6AJDGG2EJN7DW4VT5", "slug": "schematize", "primary_domain": "blog.schematize.me", "default_language": "pt-BR"}| Field | Type | Notes |
|---|---|---|
id |
string (ULID) | Site identifier. |
slug |
string | Internal slug (used in *.canverly.com fallback subdomains). |
primary_domain |
string | The canonical domain — build public URLs as https://<primary_domain>/<slug>. |
default_language |
string | The site’s default BCP-47 language tag. |
When to use it
Section titled “When to use it”- Build verification URLs — after publishing, confirm the post is live at
https://<primary_domain>/<slug>. - Pick a language — default new posts to
default_languagewhen the source doesn’t specify one. - Health check — a cheap call that proves the key is valid and the site resolves.
Cache the response — it rarely changes. Do not poll it on every publish.
Errors
Section titled “Errors”| Status | error.code |
When |
|---|---|---|
401 |
unauthorized |
Missing/invalid key. |
403 |
forbidden |
Key lacks sites:read. |
429 |
rate_limited |
Over 60 req/min. |
See also
Section titled “See also”- Site settings — the editable configuration, under
the separate
site:read/site:writescopes. - Site SEO — site-wide SEO defaults.