---
title: "Run one exporter against a brand kit"
method: POST
path: "/brand-kits/{id}/exports/{format}"
---

# Run one exporter against a brand kit

`POST /brand-kits/{id}/exports/{format}`

## Request

- Base URL: `https://namemy.app/api/v1`
- URL: `https://namemy.app/api/v1/brand-kits/{id}/exports/{format}`
- Auth: HTTP bearer

Idempotent — re-running with unchanged inputs returns the same
sha256-keyed R2 URL without re-uploading. `format` must be one of
the ids returned by GET `/brand-kits/{id}/exports`.

## Path parameters

- `id` string, required
- `format` string, required

## Request body

- object
  - `opts` object

## Response `200`

Cached export (no upload performed)

- BrandKitExportResult: Single artifact emitted by the composable exporter registry.
  - `format` string, required
  - `url` string, uri, required
  - `sha256` string, required
  - `mime` string, required
  - `bytes` integer, required
  - `filename` string, required
  - `fromCache` boolean, required: True when the result was returned from the BrandKitExport ledger without re-uploading.

## Other responses

- `201`: Newly generated export
- `402`: Payment required — endpoint gated by subscription or one-time add-on
- `404`: Unknown brand kit or format
- `429`: Rate limit or daily quota exceeded

---

[API](https://skmtc.dev/namemy/apis/namemy-app-api.md) · [All operations](https://skmtc.dev/namemy/apis/namemy-app-api/llms.txt) · [OpenAPI document](https://skmtc.dev/namemy/apis/namemy-app-api/revisions/1c302ede4b63?raw)
