---
title: "Make Hero"
method: POST
path: "/companies/{company_id}/heroes"
tags: ["heroes"]
---

# Make Hero

`POST /companies/{company_id}/heroes`

## Request

- Base URL: `https://app.zalster.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.zalster.com/companies/{company_id}/heroes`
- Auth: none declared

A new hero, as a draft: its drawing checked as a template is — a refusal says where, as
``/frames/wide/layers/3`` — and its settings, any left out at their defaults. With
``publish`` a website can show it at once; ``preview`` adds a small JPEG of its wide frame's
first page, base64, for a chat to show.

## Path parameters

- `company_id` string, uuid, required: Company id

## Request body

- HeroRequest: A website hero: its drawing — ``frames.wide`` and, for narrow screens, ``frames.tall``, each ``{width, height, background, layers}``, drawn as a banner is (decision 252), the products read by their place, ``banner.products[n].<field>``, the call to action's words as ``hero.cta`` — and its settings.
  - `name` string, required
  - `drawing` object, required
  - `settings` object, nullable
  - `publish` boolean
  - `preview` boolean

## Response `201`

Successful Response

- HeroOut
  - `id` string, uuid, required
  - `name` string, required
  - `status` 'draft' | 'published' | 'changed', required
  - `width` integer, required
  - `height` integer, required
  - `tall` boolean, required
  - `made_by` string, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `published_at` string, date-time, nullable
  - `zalia_url` string, required
  - `drawing` object, required
  - `settings` object, required
  - `frames` HeroFrameOut[], required
    - `name` 'wide' | 'tall', required
    - `width` integer, required
    - `height` integer, required
    - `slots` integer, required
    - `pages` integer, required
    - `layers` HeroLayerOut[], required
      - `id` string, required
      - `type` string, required
      - `text` string, nullable
      - `product` integer, nullable
      - `top` boolean
  - `products` HeroProductOut[], required
    - `product_id` string, uuid, required
    - `title` string, required
    - `price` string, nullable
    - `was` string, nullable
    - `url` string, nullable
    - `picture` 'cutout' | 'photo', nullable
  - `links` HeroLinksOut, required: Where the hero shows: the public ones only once it is published.
    - `embed_url` string, nullable
    - `image_url` string, nullable
    - `script_url` string, required
    - `snippet` string, nullable
    - `iframe_snippet` string, nullable
  - `notes` string[]
  - `preview` string, nullable
  - `preview_media_type` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zalster/apis/zalster-feed-processor.md) - [All operations](https://skmtc.dev/zalster/apis/zalster-feed-processor/llms.txt) - [OpenAPI document](https://skmtc.dev/zalster/apis/zalster-feed-processor/revisions/d0b9dc66ad36?raw)
