Skip to main content
Glama

Create a campaign order (draft)

create_campaign_order

Creates a UGC video campaign as a DRAFT (status='draft'). Nothing is charged: the brand owner must confirm and fund the campaign in the UGC Pocket app (the response includes a confirm_url to hand to them). Budgets are in euro cents: budget_max_cents is the campaign PACKAGE, minimum 200000 (€2,000), invoiced in full. UGC Pocket writes the challenges, selects and pays the creators, and commits to getting the most views it can. The brand never sets creator pay. Send an Idempotency-Key HTTP header to make retries safe. Requires an API key with the campaigns:draft scope.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
briefYes
titleYes
deadlineNo
cpm_centsNoVariable pay per 1,000 views, in euro cents. Defaults to 100 (€1). There is NO flat-fee field: the flat fee is computed from the measured quality and reach of each creator’s accounts, and is paid once per challenge however many videos they post.
max_centsNoMaximum payout per creator, in euro cents. Defaults to 50000 (€500).
min_centsNoMinimum payout per creator once the views threshold is cleared, in euro cents.
min_viewsNoViews needed to unlock payment, counted CUMULATIVELY across all videos a creator posts for this campaign, not per video: three videos at 400 views clear a threshold of 1000. Below it nothing is payable.
platformsNo
objectivesNo
prestationNo
payment_triggerNo
views_thresholdNo
budget_max_centsYesCampaign package, in euro cents. Minimum 200000 (€2,000), maximum 10000000 (€100,000). Invoiced in full: it is not a spend cap and not consumable credit.
target_categoriesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusNo
next_stepNo
campaign_idNo
confirm_urlNoURL the human uses to confirm and fund the draft.
ordered_by_agentNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / prestation / enum
      Previous value: -[
      -  "ugc_only",
      -  "video_post",
      -  "post_provided"
      -]New value: +[
      +  "video_post"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / budget_max_cents / description
      Previous value: -"Maximum spend for the whole campaign, in euro cents. Minimum 200000 (€2,000), maximum 10000000 (€100,000). This is a cap: unspent budget is never charged."New value: +"Campaign package, in euro cents. Minimum 200000 (€2,000), maximum 10000000 (€100,000). Invoiced in full: it is not a spend cap and not consumable credit."
  3. Changed4 schema fields changed
    • addedInput schema / properties / cpm_cents
      Added value: +{
      +  "description": "Variable pay per 1,000 views, in euro cents. Defaults to 100 (€1). There is NO flat-fee field: the flat fee is computed from the measured quality and reach of each creator’s accounts, and is paid once per challenge however many videos they post.",
      +  "maximum": 5000,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / max_cents
      Added value: +{
      +  "description": "Maximum payout per creator, in euro cents. Defaults to 50000 (€500).",
      +  "maximum": 200000,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / min_cents
      Added value: +{
      +  "description": "Minimum payout per creator once the views threshold is cleared, in euro cents.",
      +  "maximum": 200000,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / min_views
      Added value: +{
      +  "description": "Views needed to unlock payment, counted CUMULATIVELY across all videos a creator posts for this campaign, not per video: three videos at 400 views clear a threshold of 1000. Below it nothing is payable.",
      +  "minimum": 0,
      +  "type": "integer"
      +}
  4. Changed3 schema fields changed
    • changedInput schema / properties / budget_max_cents / description
      Previous value: -"Maximum spend for the whole campaign, in euro cents. Minimum 300000 (€3,000), maximum 10000000 (€100,000). This is a cap: unspent budget is never charged."New value: +"Maximum spend for the whole campaign, in euro cents. Minimum 200000 (€2,000), maximum 10000000 (€100,000). This is a cap: unspent budget is never charged."
    • changedInput schema / properties / budget_max_cents / minimum
      Previous value: -300000New value: +200000
    • changedInput schema / properties / platforms / items / enum
      Previous value: -[
      -  "TikTok",
      -  "Instagram",
      -  "YouTube",
      -  "Snapchat",
      -  "Facebook"
      -]New value: +[
      +  "TikTok",
      +  "Instagram"
      +]
  5. Changed4 schema fields changed
    • addedInput schema / properties / budget_max_cents
      Added value: +{
      +  "description": "Maximum spend for the whole campaign, in euro cents. Minimum 300000 (€3,000), maximum 10000000 (€100,000). This is a cap: unspent budget is never charged.",
      +  "maximum": 10000000,
      +  "minimum": 300000,
      +  "type": "integer"
      +}
    • removedInput schema / properties / budget_per_creator_cents
      Removed value: -{
      -  "maximum": 200000,
      -  "minimum": 5000,
      -  "type": "integer"
      -}
    • removedInput schema / properties / creators_wanted
      Removed value: -{
      -  "maximum": 50,
      -  "minimum": 1,
      -  "type": "integer"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "title",
      -  "brief",
      -  "budget_per_creator_cents",
      -  "creators_wanted"
      -]New value: +[
      +  "title",
      +  "brief",
      +  "budget_max_cents"
      +]
  6. Changed1 schema field changed
    • changedInput schema / properties / target_categories / items / enum
      Previous value: -[
      -  "dog",
      -  "cat",
      -  "car",
      -  "cooking",
      -  "couple",
      -  "business",
      -  "podcast",
      -  "sport"
      -]New value: +[
      +  "dog",
      +  "cat",
      +  "car",
      +  "cooking",
      +  "couple",
      +  "business",
      +  "podcast",
      +  "sport",
      +  "beauty",
      +  "fashion",
      +  "tech",
      +  "home",
      +  "travel",
      +  "wellness",
      +  "family",
      +  "gaming",
      +  "finance",
      +  "diy",
      +  "garden",
      +  "pets",
      +  "lifestyle",
      +  "kids"
      +]
  7. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses many behaviors beyond the annotations: draft status, no charge until confirmation, confirm_url, full invoicing, budget in cents, creator pay handling, idempotency header, and required scope. Since annotations are all false, there is no contradiction and the description carries the full burden well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, with each sentence adding valuable information about the draft flow, payment model, idempotency, and prerequisites. No fluff or unnecessary repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (14 params), the description provides a solid overview of the campaign creation process, payment semantics, and required scope. The output schema presumably covers return values. However, it could have elaborated on ambiguous parameters, but it is still sufficiently complete for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 36%, so the description must compensate. It adds context about budget_max_cents as a package and explains that creator pay is not set by the brand, but many parameters (deadline, platforms, objectives, payment_trigger, views_threshold, target_categories) remain without meaningful descriptions. The description partially compensates but does not fully cover the gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it creates a UGC video campaign as a DRAFT with status='draft', and explains the confirmation/funding flow. This distinguishes it from siblings like create_campaign_draft by emphasizing the draft status and the confirm_url handoff.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains the workflow: the brand owner must confirm and fund in the UGC Pocket app, and it mentions the required API scope (campaigns:draft). It does not explicitly name alternative tools, but the context is clear enough for the agent to decide when to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources