Contents

Organization branding

Public, unauthenticated branding of a company (name, logos, favicons), used by Nucleo's public pages (for example booking pages) that have no signed-in user but must carry the company's brand.

Base URL, authentication and conventions of this API are on the OAuth & OpenID Connect API page.

get/api/public/organizations/{slug}/branding

Get a company's public branding

Name, logos (light and dark) and favicons of a company, by slug. Only data that is public by nature (logo URLs point to public storage) — never members, domains or billing. Cached for 5 minutes on the server and sent with Cache-Control: public, max-age=300.

Rate limit: 120 requests per minute per IP address.

GET https://auth.nucleoplatform.com/api/public/organizations/{slug}/branding
Authentication: None — public endpoint
Rate limit: 120 requests per 1m, per IP

Path parameters

  • slugstringrequired

    Company slug, lowercase. Must match ^[a-z0-9][a-z0-9-]{0,63}$, otherwise 404.

    max length 64pattern ^[a-z0-9][a-z0-9-]{0,63}$
    Example: acme

Responses

  • 200Branding.
    Headers
    • Cache-Control
    • dataOrganizationBrandingrequired
      Child attributes
      • slugstring
      • namestring
      • logo_urlstring (uri) | null
      • logo_dark_urlstring (uri) | null
      • favicon_urlstring (uri) | null
      • favicon_light_urlstring (uri) | null
  • 404Unknown or invalid slug.
    • messagestring
  • 429Rate limit exceeded.
    Headers
    • Retry-After
    • X-RateLimit-Limit
    • X-RateLimit-Remaining
    • messagestring
Request
curl -X GET https://auth.nucleoplatform.com/api/public/organizations/acme/branding \
  -H 'Accept: application/json'
Response
{
  "data": {
    "slug": "acme",
    "name": "Acme Apparel",
    "logo_url": "https://cdn.acme.example/brand/logo.svg",
    "logo_dark_url": "https://cdn.acme.example/brand/logo-dark.svg",
    "favicon_url": "https://cdn.acme.example/brand/favicon.png",
    "favicon_light_url": null
  }
}
Was this page helpful?