API · v1

Pull Homer assets into your tools.

A simple REST API. Use it from Figma plugins, Canva apps, Meta/Google Ads templating, or your own scripts.

Base URL

https://YOUR-DOMAIN/api/public/v1

Authentication

Public endpoints work without a key but only return assets marked public. For internal-scope assets, send an API key created from the Internal → API keys page.

Authorization: Bearer hk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Endpoints

GET
/assets

List assets. Filter by category, tags, or search.

curl https://YOUR-DOMAIN/api/public/v1/assets?category=logo&q=primary

{
  "assets": [
    {
      "id": "...",
      "title": "Homer Wordmark — Black",
      "category": "logo",
      "tags": ["wordmark", "primary"],
      "visibility": "public",
      "mime_type": "image/svg+xml",
      "width": 800,
      "height": 200,
      "download_url": "https://...",
      "thumbnail_url": "https://..."
    }
  ]
}
GET
/assets/:id

Get a single asset including a short-lived signed download URL.

curl https://YOUR-DOMAIN/api/public/v1/assets/abc-123
GET
/colors

Get the brand color palette.

curl https://YOUR-DOMAIN/api/public/v1/colors

{
  "colors": [
    { "name": "Homer Black", "hex": "#0A0A0A", "usage_notes": "Primary text and logo" }
  ]
}
GET
/categories

Get the list of asset categories.

curl https://YOUR-DOMAIN/api/public/v1/categories

Figma / Canva

The signed download_url on each asset is a regular HTTPS link valid for ~10 minutes — paste it into any tool that accepts an image URL, or use the asset's stable id to refetch later.

Errors

JSON error envelope. Common statuses:

401  Missing or invalid API key for internal-scope request
404  Asset not found, or not visible to your key
429  Too many requests