Skip to content

GET /v1/sites/me

Retrieve metadata about the site that owns the API key making the request. This is the canonical way to resolve the site’s public domain, locale, theme, and high-level customization without having to hardcode them in the consumer.

  • URL: https://api.canverly.com/v1/sites/me
  • Method: GET
  • Auth: Bearer API key
  • Required scope: sites:read
  • Rate limit: 60 req/min per key

Request

No parameters. The site is inferred from the API key — there is no :id to pass. To inspect a different site, use an API key minted on that site.

Example

Terminal window
curl https://api.canverly.com/v1/sites/me \
-H "Authorization: Bearer ck_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Response

200 OK

{
"id": "01HZX0000000000000000000SITE",
"tenant_id": "01HZX0000000000000000TENANT0",
"slug": "example-site",
"name": "Example Site",
"primary_domain": "example.com",
"domains": ["example.com", "www.example.com", "example-site.canverly.com"],
"locale": "pt-BR",
"timezone": "America/Sao_Paulo",
"status": "active",
"settings": {
"theme_base": "minimal",
"colors": {
"primary": "#0F62FE",
"background": "#FFFFFF",
"text": "#161616"
},
"typography": {
"heading_font": "Inter",
"body_font": "Inter"
},
"layout": {
"container_max_width": 1200,
"header_variant": "compact"
}
},
"created_at": "2025-11-02T13:15:00Z",
"updated_at": "2026-06-01T09:42:00Z"
}

Fields

FieldTypeDescription
idstring (ULID)Site identifier.
tenant_idstring (ULID)The owning tenant.
slugstringInternal slug used in *.canverly.com subdomains.
namestringHuman-readable site name.
primary_domainstringThe canonical domain — use this when building public URLs.
domainsstring[]All domains that serve this site (including the *.canverly.com fallback).
localestringBCP-47 locale tag.
timezonestringIANA timezone.
statusenumactive | suspended | archived.
settingsobjectSnapshot of the customization JSON (colors, theme_base, layout, typography). Read-only via the public API; edit in admin.
created_atstring (ISO 8601)When the site was provisioned.
updated_atstring (ISO 8601)Last settings change.

When to use it

  • Bootstrapping a consumer: at startup, fetch /v1/sites/me once, cache primary_domain and locale, and use them to construct the verification URL in POST /v1/posts.
  • Theming integrations: if your tool generates content (e.g. featured-image cards), read settings.colors.primary to match the site’s palette.
  • Health check: a low-cost call that proves the API key is still valid and the site is active.

Do not poll this endpoint — settings rarely changes. Cache the response for at least 5 minutes; refresh on updated_at change if you need stricter freshness.

Errors

Statustype slugWhen
401unauthenticatedMissing/invalid Authorization.
403insufficient-scopeKey lacks sites:read.
410site-archivedThe site was archived; the key is effectively dead.
429rate-limitedExceeded 60 req/min.