distribution.techdistribution.tech

MCP tool

Ask for a price

creator_ask_price

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

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.

Server
https://app.distribution.tech/api/mcp
Scope
creators:read
Changes data
No, a read

Arguments

Arguments of creator_ask_price
NameTypeRequiredDescription
creator_idstring (uuid)YesThe creator's id from creators_search (a row with ask_price true).
campaign_idstring (uuid)NoOne of your campaigns this ask is for; the priced answer then shows on that campaign's plan.

Call with curl

The server speaks streamable HTTP, so one JSON-RPC tools/call request runs the tool. Set DISTRIBUTION_API_KEY to a key from Developers with the creators:read scope; the arguments shown are the required ones.

curl
curl -X POST "https://app.distribution.tech/api/mcp" \
  -H "Authorization: Bearer $DISTRIBUTION_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "creator_ask_price",
    "arguments": {
      "creator_id": "<uuid>"
    }
  }
}'

Result

The answer's structuredContent follows the tool's output schema (the same JSON is in its text content). It has these fields:

Result fields of creator_ask_price
NameTypeRequiredDescription
creator_idstring (uuid)Yes
requestedtrueYes
alreadybooleanYestrue: 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.
statusone of "requested", "priced"Yesrequested: our team is pricing it. priced: a price is on the creator now (creator_get offerings) and held for you for 48 hours.
requested_atstring (date-time)Yes
nextstringYesWhat happens next, in one sentence.
structuredContent, every field with its type
{
  "creator_id": "<uuid>",
  "requested": true,
  "already": false,
  "status": "requested",
  "requested_at": "<date-time>",
  "next": "<string>"
}

Get access

Keys are created in Developers once your brand is approved. Connect an agent to ask for access, then read the agent guide for the full flow.