---
title: "Admin Approve Publisher Application"
method: POST
path: "/v1/admin/publisher-applications/{application_id}/approve"
---

# Admin Approve Publisher Application

`POST /v1/admin/publisher-applications/{application_id}/approve`

## Request

- Base URL: `https://api.storyflo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.storyflo.com/v1/admin/publisher-applications/{application_id}/approve`
- Auth: none declared

Operator approves a pending application. Internally calls the
opt-in helper (sets opt_in_at, mints hex_code, persists payout
fields) then marks the application status=approved and emails the
applicant their welcome packet (hex + embed snippet + dashboard
link). Idempotent — re-approving an approved application returns
the existing publisher row without re-sending the welcome email.

Auth: admin token (X-Storyflo-Email-Token).

## Path parameters

- `application_id` string, required

## Headers

- `x-storyflo-email-token` string, nullable

## Request body

- PublisherApplicationApproveRequest
  - `tenant_slug_override` string, nullable
  - `reviewer_notes` string, nullable

## Response `200`

Successful Response

- PublisherApplicationApproveResponse
  - `application_id` string, required
  - `publisher_id` string, required
  - `tenant_slug` string, required
  - `hex_code` string, required
  - `welcome_email_message_id` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/storyflo/apis/storyflo-inference-router.md) · [All operations](https://skmtc.dev/storyflo/apis/storyflo-inference-router/llms.txt) · [OpenAPI document](https://skmtc.dev/storyflo/apis/storyflo-inference-router/revisions/c3a1a735ac7a?raw)
