--- title: "POST /creators/{id}/price-request: Ask for a price | distribution.tech" description: "Ask our team for the price of an approved creator with nothing on sale (ask_price true and price_estimate on its row; the estimate is never a price)." canonical: https://distribution.tech/docs/api/post-creators-id-price-request generator: md-live-route generated: 2026-10-21T12:30:07.760Z --- # POST /creators/{id}/price-request: Ask for a price | distribution.tech - [Getting started](https://distribution.tech/docs) - [API reference](https://distribution.tech/docs/api) - [MCP and agents](https://distribution.tech/docs/agents) - [Changelog](https://distribution.tech/docs/changelog) Search the docs Docs - Using the API › - [API reference](https://distribution.tech/docs/api) - [Authentication](https://distribution.tech/docs/api/authentication) - [Scopes](https://distribution.tech/docs/api/scopes) - [Errors](https://distribution.tech/docs/api/errors) - Inventory and audience › - [GET /audience](https://distribution.tech/docs/api/get-audience) - [GET /inventory](https://distribution.tech/docs/api/get-inventory) - Creators › - [GET /creators](https://distribution.tech/docs/api/get-creators) - [GET /creators/{id}](https://distribution.tech/docs/api/get-creators-id) - [POST /creators/{id}/price-request](https://distribution.tech/docs/api/post-creators-id-price-request) - Campaigns › - [GET /campaigns](https://distribution.tech/docs/api/get-campaigns) - [POST /campaigns](https://distribution.tech/docs/api/post-campaigns) - [GET /campaigns/{id}](https://distribution.tech/docs/api/get-campaigns-id) - [PATCH /campaigns/{id}](https://distribution.tech/docs/api/patch-campaigns-id) - [DELETE /campaigns/{id}](https://distribution.tech/docs/api/delete-campaigns-id) - [POST /campaigns/{id}/archive](https://distribution.tech/docs/api/post-campaigns-id-archive) - [POST /campaigns/{id}/creator-guidelines](https://distribution.tech/docs/api/post-campaigns-id-creator-guidelines) - Plans › - [POST /plans/{id}/approve](https://distribution.tech/docs/api/post-plans-id-approve) - [POST /plans/{id}/dates](https://distribution.tech/docs/api/post-plans-id-dates) - [POST /plans/{id}/lines](https://distribution.tech/docs/api/post-plans-id-lines) - [GET /plans/{id}/quote](https://distribution.tech/docs/api/get-plans-id-quote) - [DELETE /plans/{id}/lines/{line\_id}](https://distribution.tech/docs/api/delete-plans-id-lines-line-id) - [POST /plans/{id}/lines/{line\_id}/swap](https://distribution.tech/docs/api/post-plans-id-lines-line-id-swap) - Proof and results › - [GET /evidence](https://distribution.tech/docs/api/get-evidence) - [GET /results](https://distribution.tech/docs/api/get-results) - Company context › - [GET /brain](https://distribution.tech/docs/api/get-brain) - Feedback › - [GET /feedback](https://distribution.tech/docs/api/get-feedback) - [POST /feedback](https://distribution.tech/docs/api/post-feedback) 1. [distribution](https://distribution.tech/) 2. / [Docs](https://distribution.tech/docs) 3. / [API reference](https://distribution.tech/docs#api) 4. / Creators API reference, Creators # Ask for a price POST /creators/{id}/price-request Ask our team for the price of an approved creator with nothing on sale (ask\_price true and price\_estimate on its row; the estimate is never a price). Copy page as markdown [View .md](https://distribution.tech/docs/api/post-creators-id-price-request.md) ## Overview Ask our team for the price of an approved creator with nothing on sale (ask\_price true and price\_estimate on its row; the estimate is never a price). The team prices it, the price then shows on the creator (creator\_get offerings) and as a priced answer on your plan, held for you for 48 hours; nothing is booked or charged until you add the creator to a plan and approve it. It reaches our team, never the creator. One open ask per creator: asking again answers already true and sends nothing. Opening the creator counts as one creator opened today (free when already opened). 3 asks for one creator and 20 in all in any 24 hours (rate\_limited, reason daily\_limit, with retry\_after and resets\_at saying when that limit reopens). A creator with a format on sale answers conflict, reason already\_priced: add it with plan\_add\_creator. Optionally campaign\_id: one of your campaigns the ask is for. Scope: creators:read. No Idempotency-Key: an ask is one open request per creator, so a retry while it is open answers already true; once it is answered or its 48 hours run out, asking again opens a new one. MCP tool: creator\_ask\_price. Endpoint `POST https://app.distribution.tech/api/v1/creators/{id}/price-request` Scope `creators:read` Changes data Yes, send an Idempotency-Key header MCP tool [creator\_ask\_price](https://distribution.tech/docs/mcp/tools/creator-ask-price) ## Parameters | Name | In | Type | Required | Description | | --- | --- | --- | --- | --- | | `id` | path | string (uuid) | Yes | The creator's id from a GET /creators row (a UUID). | ## Request body | Name | Type | Required | Description | | --- | --- | --- | --- | | `campaign_id` | string (uuid) | No | One of your campaigns this ask is for; the priced answer then shows on that campaign's plan. Another brand's or an unknown id is dropped. | JSON body, every field ``` { "campaign_id": "" } ``` ## Request with curl Set `DISTRIBUTION_API_KEY` to a key from Developers with the `creators:read` scope, and each path variable to an id from an earlier answer. The body carries the required fields. curl ``` curl -X POST "https://app.distribution.tech/api/v1/creators/$CREATOR_ID/price-request" \ -H "Authorization: Bearer $DISTRIBUTION_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "campaign_id": "" }' ``` ## Response `200` Asked, or already asked (already true).. The body has these fields: | Name | Type | Required | Description | | --- | --- | --- | --- | | `creator_id` | string (uuid) | Yes | | | `requested` | true | Yes | | | `already` | boolean | Yes | true: an ask for this creator is still open (an earlier call, or a teammate's click in the app); nothing new was sent. An ask is held for 48 hours: once it is answered or expires, the next call opens a new ask and answers already false. | | `status` | one of "requested", "priced" | Yes | requested: our team is pricing it. priced: a price is on the creator now (creator\_get offerings) and held for you for 48 hours. | | `requested_at` | string (date-time) | Yes | | | `next` | string | Yes | What happens next, in one sentence. | 200 response body, every field with its type ``` { "creator_id": "", "requested": true, "already": false, "status": "requested", "requested_at": "", "next": "" } ``` ## Errors | Status | When | | --- | --- | | `400` | A parameter is not valid: details.problems names each field and what it accepts. | | `401` | No API key, an unknown one, or a revoked one. | | `403` | The key lacks creators:read, or the demo workspace (forbidden). | | `404` | No approved creator has that id. | | `409` | conflict, reason already\_priced: a format is on sale; add it with plan\_add\_creator instead. | | `422` | unprocessable: not answered today; listed so every POST declares the same statuses. | | `429` | Too many creator reads (the creator meter: opening this creator counts as one creator opened today, free when already opened), or the daily ask limit: 3 for one creator and 20 in all in 24 hours (rate\_limited, details.reason daily\_limit). Retry-After says when. | | `500` | internal: the request failed on our side. Try again. | | `502` | unavailable: the ask did not reach our team, so it was not kept. Try again in a minute. | | `503` | unavailable: the service or this part of it is not reachable right now. Try again shortly. | ## Related endpoints - [`GET /creators`](https://distribution.tech/docs/api/get-creators): Approved creators on sale now, by name, with price per format and format advice - [`GET /creators/{id}`](https://distribution.tech/docs/api/get-creators-id): One creator's full profile ## Get access Keys are created in Developers once your brand is approved. [Connect an agent](https://distribution.tech/distribution#access) to ask for access, then read [the agent guide](https://distribution.tech/docs/agents) for the full flow. On this page - [Overview](#overview) - [Parameters](#parameters) - [Request body](#request-body) - [Request with curl](#curl) - [Response](#response) - [Errors](#errors) - [Related endpoints](#related) - [Get access](#access) [![distribution.tech](https://distribution.tech/brand/wordmark-light.svg)![distribution.tech](https://distribution.tech/brand/wordmark.svg)](https://distribution.tech/) Your agent buys your distribution. Distribution we run for - ClickUp - Gushwork - Tab Platform - [How it works](https://distribution.tech/how-it-works) - [Network](https://distribution.tech/network) - [Workspace](https://app.distribution.tech/login) - [For your agents](https://distribution.tech/distribution) Solutions - [Product launch](https://distribution.tech/solutions/product-launch) - [Funding announcement](https://distribution.tech/solutions/funding-announcement) - [Feature release](https://distribution.tech/solutions/feature-release) - [For brands](https://distribution.tech/for-brands) - [For creators](https://distribution.tech/for-creators) Resources - [Blog](https://distribution.tech/blog) - [Launch playbook](https://distribution.tech/playbook) - [X creator rates](https://distribution.tech/rates/x-creators) Company - [Customers](https://distribution.tech/customers) - [Pricing](https://distribution.tech/pricing) - [Changelog](https://distribution.tech/changelog) - [Build a distribution plan](https://app.distribution.tech/login) - [Join the creator network](https://distribution.tech/for-creators#apply) - [Log in](https://app.distribution.tech/login) Legal - [Privacy](https://distribution.tech/privacy) - [Terms](https://distribution.tech/terms) © 2026 distribution.tech [Contact: team@distribution.tech](mailto:team@distribution.tech)Cookie settings Light Dark System