---
title: "Upload Company Asset"
method: POST
path: "/companies/{company_id}/company-assets/{kind}"
tags: ["creatives"]
---

# Upload Company Asset

`POST /companies/{company_id}/company-assets/{kind}`

## 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}/company-assets/{kind}`
- Auth: none declared

A brand slot or a library picture.

``logo`` and ``logo_dark`` are the two brand slots. Anything else must be
``img_<name>`` with ``<name>`` matching ``^[a-z0-9][a-z0-9_-]{0,39}$`` — a
picture in the company's library, bindable as ``company.images.<name>``.
Uploading a name that already exists replaces it, exactly as re-uploading
a logo does.

## Path parameters

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

## Request body `multipart/form-data`

- BodyUploadCompanyAssetCompaniesCompanyIdCompanyAssetsKindPost
  - `file` string, binary, required

## Response `201`

Successful Response

- CompanyAssetOut
  - `id` string, uuid, required
  - `kind` string, required
  - `content_hash` string, required
  - `mime_type` string, required
  - `width` integer, required
  - `height` integer, required
  - `byte_size` integer, required
  - `updated_at` string, date-time, required

## 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)
