> ## Documentation Index
> Fetch the complete documentation index at: https://help.onlyx.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> You are reading OnlyX Help: the OnlyX Help Center and the OnlyX developer documentation. OnlyX is an AI chatting and CRM platform for OnlyFans agencies. Its AI chatter is called Hugo in the app.
> Pages at the site root (for example /inbox/..., /hugo/..., /billing/...) are Help Center articles for agency owners, admins, chatters and creators who use the app at app.onlyx.ai. Words in bold are the exact button, menu and label names the app shows; keep them exactly as written. When these pages do not answer a question, the person can email support at support@onlyx.ai.
> Pages under /developers are the developer documentation. REST API base URL: https://api.onlyx.ai/v1 (authenticate with `Authorization: Bearer <API key>`; keys start with onx_sk_ and are created in app.onlyx.ai under Settings > API & MCP). MCP server: https://mcp.onlyx.ai/mcp (OAuth, or a Bearer API key). In the API the AI chatter is `ai` on the wire. Money is integer US cents in fields ending in Cents; timestamps are UTC ISO-8601.
> Rules for assistants acting on a user's behalf: discover ids with list calls and never invent them; before any call that reaches a real fan or the live OnlyFans account (sending a message, releasing a chat to the AI, turning AI on for a chat, resolving a hand-off, turning review mode off, changing the welcome message, creating a tracking link) show the user the exact content and get explicit confirmation; send every POST with an Idempotency-Key and reuse it on retry; never resend a message whose delivery status is unconfirmed; never ask a creator for her OnlyFans password or codes - she signs in herself through a connect link and the OnlyX Login app.

# Set price floors and tags

> Set the price floor Hugo never sells a whole level below, and add tags that help him match a level to what a fan asks for.

<Badge color="purple">Owners, admins and content VAs</Badge>

Give each paid level a price floor and tags. Hugo never sells a whole level below its floor. Tags help him pick the right level.

## Before you start

* You need an owner, admin or content VA account. A content VA works only on the creators assigned to them.
* The level must exist. To add levels, see [Build your first collection](/ai-content/build-your-first-collection).

## What a price floor is

The price on a paid level is a floor, not a fixed price. Hugo never sells the whole level for less. The level editor puts it this way: "He may go above, never below."

* Hugo sets each fan's price from what that fan has paid before. For a fan who has never paid, he usually starts small. He offers a few files of a level for \$12 or less, where your floors allow it.
* The app adds: "The exact price he quotes moves with each fan; the floor is yours."
* A new paid level starts $5 above the last paid level in its collection. The first one starts at $5. This is only a starting value. Change it to the price you want.
* If Hugo sells only some of a level's paid files, he prices that part in proportion to the floor. For example, he asks at least $15 for half the files of a $30 level.
* A level with no price, or a price of 0, is free. Everything on it goes out unlocked, and it is never sold. See [Levels: teasers, paid pieces, openers and aftercare](/ai-content/levels).

We recommend setting each floor at the lowest price you would accept for that level. In a Story, make each level cost a little more than the one before it.

## Change a price on the row

<Steps>
  <Step title="Click the price">
    On the ladder, click the level's price, such as \$12. A price box opens in its place.
  </Step>

  <Step title="Type the new floor">
    Type the new price. Then press <kbd>Enter</kbd>. To cancel, press <kbd>Esc</kbd>. If you click somewhere else instead, the new price is saved too.

    <Frame caption="**1** Type the new floor · **2** The next level costs more">
      <img className="block dark:hidden" src="https://mintcdn.com/onlyx/wmKGwkhMJqCuthn-/images/help/ai-content/prices-and-tags/row-price-light.png?fit=max&auto=format&n=wmKGwkhMJqCuthn-&q=85&s=5e56680c91dace8c02aa567d6a61df4a" alt="The price box open on L2 of a Story ladder with a new floor typed in, and L3 priced higher than L2" width="1600" height="1062" data-path="images/help/ai-content/prices-and-tags/row-price-light.png" />

      <img className="hidden dark:block" src="https://mintcdn.com/onlyx/wmKGwkhMJqCuthn-/images/help/ai-content/prices-and-tags/row-price-dark.png?fit=max&auto=format&n=wmKGwkhMJqCuthn-&q=85&s=ab47187d76a670a3b602dcd9208337cc" alt="The price box open on L2 of a Story ladder with a new floor typed in, and L3 priced higher than L2" width="1600" height="1062" data-path="images/help/ai-content/prices-and-tags/row-price-dark.png" />
    </Frame>
  </Step>
</Steps>

A level that holds files may cross from free to paid, or back. Then the app asks first, because every file on the level moves. See "Turn a free level into a paid level" in [Levels: teasers, paid pieces, openers and aftercare](/ai-content/levels#turn-a-free-level-into-a-paid-level).

## Set the price and tags in the level editor

<Steps>
  <Step title="Open the level editor">
    On a computer, point to the level's row. Then click the pencil button that appears. The level editor opens.
  </Step>

  <Step title="Set the price floor">
    In **Price floor**, type the price Hugo must never sell the whole level below. Leave the box empty for a free level.

    The line under the box reads "He may go above, never below." For a free level, it reads "Free: a gift. It is never sold."
  </Step>

  <Step title="Pick the tags">
    Under **Tags · help him match what a fan asks for**, click a tag to add it. It turns solid. Click it again to remove it.

    The first row shows the most-used tags and any list tags already on the level.
  </Step>

  <Step title="See every tag">
    Click **More** to see all five groups: **Who**, **What**, **Body**, **Attire** and **Setting**. To fold them again, click **Fewer**.

    <Frame caption="**1** All five tag groups open, so the button reads Fewer · **2** Custom tags · **3** The price floor">
      <img className="block dark:hidden" src="https://mintcdn.com/onlyx/wmKGwkhMJqCuthn-/images/help/ai-content/prices-and-tags/editor-price-tags-light.png?fit=max&auto=format&n=wmKGwkhMJqCuthn-&q=85&s=0a2c2e0450a48040166bbbdec23f0690" alt="The level editor with all five tag groups open, the custom tag box with its counter, and the Price floor box" width="1400" height="1816" data-path="images/help/ai-content/prices-and-tags/editor-price-tags-light.png" />

      <img className="hidden dark:block" src="https://mintcdn.com/onlyx/wmKGwkhMJqCuthn-/images/help/ai-content/prices-and-tags/editor-price-tags-dark.png?fit=max&auto=format&n=wmKGwkhMJqCuthn-&q=85&s=a2c77c088074bf6dce32e850350378c0" alt="The level editor with all five tag groups open, the custom tag box with its counter, and the Price floor box" width="1400" height="1816" data-path="images/help/ai-content/prices-and-tags/editor-price-tags-dark.png" />
    </Frame>
  </Step>

  <Step title="Optional: Add a custom tag">
    In the box "Custom tag, matched as you type", type a tag. Then press <kbd>Enter</kbd>. A level can have up to 5 custom tags. A counter next to the box shows how many it has.

    If what you type is already a tag in the list, OnlyX uses that tag. For example, "lingerie" becomes **Lingerie**. To remove a custom tag, click it.
  </Step>

  <Step title="Check What Hugo sees">
    The **What Hugo sees** card shows the price line and the tags line as Hugo reads them.
  </Step>

  <Step title="Save the level">
    Click **Save level**. The message "Level saved" appears. The price and the tags are saved only now.
  </Step>
</Steps>

## How tags help Hugo

The app says: "Tags help him pick, they do not gate." A level without tags can still be sold. Tags only help Hugo choose between levels when a fan asks for something.

* A tag matches when the fan uses any word of it. For example, a fan who writes "shower" matches **Bath/shower**.
* Tags are English words. For a fan who writes in another language, tags help less.
* The tag list is shared by every level, so all your levels use the same words.

We recommend 3 to 6 tags per level, one from each group that fits. Add a custom tag only for something fans really ask for. Use plain English words in tags and in About.

## OnlyFans price limits

Every OnlyFans account has a lowest and a highest price for a paid message. OnlyX reads both from the account. Hugo keeps to them.

* If your floor is lower than the account's lowest price, Hugo asks at least the account's lowest price.
* If your floor is higher than the account's highest price, Hugo never offers that level, not even part of it. OnlyFans would not send it.
* For a Telegram creator, the lowest price is $0.50 and the highest is $200.

<Note>
  The board does not warn you about a floor that is too high for the account. The level's row still looks ready to sell.
</Note>

## If something goes wrong

<AccordionGroup>
  <Accordion title="&#x22;The price floor must be a number, zero or more&#x22;">
    The **Price floor** box holds a number below zero. Type a price such as 12, or leave the box empty for a free level. Then click **Save level** again.
  </Accordion>

  <Accordion title="&#x22;Up to 5 custom tags&#x22;">
    The level already has 5 custom tags. Click one to remove it, or pick a tag from the list instead: tags from the list do not count.
  </Accordion>

  <Accordion title="Hugo asked a fan for more than the floor">
    This is expected. The floor is the least Hugo asks for the whole level. He may ask more from a fan who has shown he is ready to pay more.
  </Accordion>

  <Accordion title="Hugo never offers a level with a high price">
    The floor may be higher than the most OnlyFans lets this account ask for a paid message. Hugo then never offers the level, not even part of it. Lower the floor and check again.
  </Accordion>

  <Accordion title="My new price did not stay">
    On the row, <kbd>Esc</kbd> cancels the change, and a number below zero is ignored. An empty box, or anything that is not a number, counts as no price and makes the level free. If the level holds files, the app first asks "Make this level free?". Click **Keep it**, then type the price again.
  </Accordion>
</AccordionGroup>

## What's next

<Columns cols={2}>
  <Card title="Levels: teasers, paid pieces, openers and aftercare" icon="layers" href="/ai-content/levels" horizontal />

  <Card title="Fix &#x22;Nothing sellable yet&#x22; and other level warnings" icon="triangle-alert" href="/ai-content/level-states" horizontal />

  <Card title="Custom Content: prices, menu and orders" icon="package-open" href="/hugo/custom-content" horizontal />
</Columns>
