HydraCore
API by router

Branding

Get Branding

Get the current tenant's branding config.

Returns defaults if no branding row exists yet (auto-creates one).

"Frankly, my dear, I don't give a damn." - Rhett Butler (what your brand says when competitors try to copy it)

GET
/v1/brand
AuthorizationBearer <token>

In: header

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X GET "https://loading/v1/brand" \  -H "X-Api-Key: string"
{
  "accent_color": "string",
  "background_color": "string",
  "body_font": "string",
  "business_name": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "custom_domain": "string",
  "description": "string",
  "domain_verified": true,
  "edge_instance_id": "6552900c-5e1f-46a9-8b32-a26e16ab8ecd",
  "favicon_url": "string",
  "heading_font": "string",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "logo_url": "string",
  "mono_font": "string",
  "og_image_url": "string",
  "powered_by_enabled": true,
  "primary_color": "string",
  "social_linkedin": "string",
  "social_twitter": "string",
  "social_website": "string",
  "ssl_error": "string",
  "ssl_status": "none",
  "support_email": "string",
  "surface_color": "string",
  "tagline": "string",
  "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0",
  "text_color": "string",
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Update Branding

Update the current tenant's branding config.

Requires admin role. Partial update - only provided fields are changed.

"With great power comes great responsibility." - Uncle Ben (also applies to brand color choices)

PUT
/v1/brand
AuthorizationBearer <token>

In: header

Header Parameters

X-Api-Key?X-Api-Key
accent_color?Accent Color
background_color?Background Color
body_font?Body Font
business_name?Business Name
custom_domain?Custom Domain
description?Description
edge_instance_id?Edge Instance Id
favicon_url?Favicon Url
heading_font?Heading Font
logo_url?Logo Url
mono_font?Mono Font
og_image_url?Og Image Url
powered_by_enabled?Powered By Enabled
primary_color?Primary Color
social_linkedin?Social Linkedin
social_twitter?Social Twitter
social_website?Social Website
support_email?Support Email
surface_color?Surface Color
tagline?Tagline
text_color?Text Color

Response Body

curl -X PUT "https://loading/v1/brand" \  -H "X-Api-Key: string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "accent_color": "string",
  "background_color": "string",
  "body_font": "string",
  "business_name": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "custom_domain": "string",
  "description": "string",
  "domain_verified": true,
  "edge_instance_id": "6552900c-5e1f-46a9-8b32-a26e16ab8ecd",
  "favicon_url": "string",
  "heading_font": "string",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "logo_url": "string",
  "mono_font": "string",
  "og_image_url": "string",
  "powered_by_enabled": true,
  "primary_color": "string",
  "social_linkedin": "string",
  "social_twitter": "string",
  "social_website": "string",
  "ssl_error": "string",
  "ssl_status": "none",
  "support_email": "string",
  "surface_color": "string",
  "tagline": "string",
  "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0",
  "text_color": "string",
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Upload a brand logo image.

Accepts PNG, JPEG, WebP, SVG, GIF up to 2 MB. Stores on local filesystem (swappable to R2/S3 later). Updates the branding record's logo_url.

"Say hello to my little friend!" - Tony Montana, Scarface (what your logo says to every visitor)

POST
/v1/brand/logo
AuthorizationBearer <token>

In: header

Header Parameters

X-Api-Key?X-Api-Key
fileFile
Formatbinary

Response Body

curl -X POST "https://loading/v1/brand/logo" \  -H "X-Api-Key: string" \  -F file="string"
{
  "accent_color": "string",
  "background_color": "string",
  "body_font": "string",
  "business_name": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "custom_domain": "string",
  "description": "string",
  "domain_verified": true,
  "edge_instance_id": "6552900c-5e1f-46a9-8b32-a26e16ab8ecd",
  "favicon_url": "string",
  "heading_font": "string",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "logo_url": "string",
  "mono_font": "string",
  "og_image_url": "string",
  "powered_by_enabled": true,
  "primary_color": "string",
  "social_linkedin": "string",
  "social_twitter": "string",
  "social_website": "string",
  "ssl_error": "string",
  "ssl_status": "none",
  "support_email": "string",
  "surface_color": "string",
  "tagline": "string",
  "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0",
  "text_color": "string",
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Serve an uploaded logo file.

No auth required - logos are public assets for customer-facing sites. "If you build it, they will come." - Field of Dreams

GET
/v1/brand/logo/{filename}

Path Parameters

filenameFilename

Response Body

curl -X GET "https://loading/v1/brand/logo/string"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}