---
title: "Admin Publisher Opt In"
method: POST
path: "/v1/admin/publishers/{tenant_slug}/opt-in"
---

# Admin Publisher Opt In

`POST /v1/admin/publishers/{tenant_slug}/opt-in`

## 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/publishers/{tenant_slug}/opt-in`
- Auth: none declared

Direct operator opt-in endpoint — flips opt_in_at + onboarded_at,
mints hex_code, persists payout fields. Idempotent: re-running
against an already-opted-in publisher returns the existing record
(with payout fields updated in-place).

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

## Path parameters

- `tenant_slug` string, required

## Headers

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

## Request body

- PublisherOptInRequest
  - `contact_email_override` string, nullable
  - `payout_email` string, nullable
  - `payout_method` string, nullable
  - `payout_address` string, nullable

## Response `200`

Successful Response

- PublisherOptInResponse
  - `publisher_id` string, required
  - `tenant_slug` string, required
  - `hex_code` string, required
  - `opt_in_at` string, required
  - `onboarded_at` string, required
  - `already_opted_in` boolean, required

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