{"openapi":"3.1.0","info":{"title":"Gardenpatch Growth Coaches API","version":"1.0.0","description":"Paid, agent-callable growth coaches for Hermes, OpenClaw, and any x402 client.\n\nPayment is per call over the x402 protocol on eip155:8453.\nAn unpaid request returns HTTP 402 with machine-readable payment requirements;\npay the quoted amount and retry the identical request with an X-PAYMENT header.\n\nStarting price: $0.08 (diagnose_growth). Deep modes: $0.25.\nPricing: diagnose_growth $0.08, design_offer $0.25, rewrite_pricing $0.25, funnel_review $0.25, write_outbound_sequence $0.25, audit_function $0.25.\n\nDiscovery: GET /.well-known/x402 · Catalog: GET /api/v1/agents · Docs: /docs/agents\nOpenClaw/Hermes skill (hardcoded coach catalog): /skills/gardenpatch-x402/SKILL.md"},"servers":[{"url":"https://gardenpatch.xyz"}],"x-discovery":{"ownershipProofs":["0xC5127eD70b48861b85488A45e42D7e473afa2c62"],"skillUrl":"https://gardenpatch.xyz/skills/gardenpatch-x402/SKILL.md"},"paths":{"/api/v1/agents":{"get":{"operationId":"listAgents","summary":"Discover available agents, modes, and prices. Free.","security":[],"responses":{"200":{"description":"Service catalog."}}}},"/api/v1/agents/mary/call":{"post":{"operationId":"call_mary","summary":"Call Mary (Growth strategy). Paid via x402 — from $0.08.","description":"Head growth coach. Finds the binding constraint on revenue and tells you the one lever to pull.","x-payment-info":{"protocols":["x402"],"price":{"mode":"dynamic","currency":"USD","amount":"0.08","min":"0.08","max":"0.25"},"network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"X-PAYMENT","in":"header","required":false,"schema":{"type":"string"},"description":"x402 payment payload. Omit to receive a 402 with payment requirements."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"diagnose_growth"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"design_offer"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rewrite_pricing"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"funnel_review"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"write_outbound_sequence"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"audit_function"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]}]}}}},"responses":{"200":{"description":"Analysis complete.","content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"diagnose_growth"},"reply":{"type":"string","maxLength":1400,"description":"The operator's answer in plain prose, under 150 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 3, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 3 — a list of 10 is not a plan."},"caveats":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"binding_constraint":{"type":"string","description":"The one discipline that is bleeding: demand, conversion, retention, pricing, or delivery."},"evidence":{"type":"array","items":{"type":"string"},"description":"What in the caller's context points at this constraint."},"ranked_levers":{"minItems":1,"type":"array","items":{"type":"object","properties":{"lever":{"type":"string"},"why":{"type":"string"},"expected_impact":{"type":"string","enum":["small","moderate","large"]}},"required":["lever","why","expected_impact"],"additionalProperties":false},"description":"Levers in priority order. The first one is the recommendation."},"do_not_do":{"type":"array","items":{"type":"string"},"description":"Tempting moves that would waste the next 30 days given this constraint."}},"required":["binding_constraint","evidence","ranked_levers","do_not_do"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"design_offer"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"offer_name":{"type":"string"},"promise":{"type":"string","description":"The outcome, with a time frame. Not a feature list."},"price_point_usd":{"type":"number"},"price_rationale":{"type":"string"},"guarantee":{"type":"string"},"inclusions":{"minItems":1,"type":"array","items":{"type":"string"}},"bonuses":{"type":"array","items":{"type":"string"}},"why_it_converts":{"type":"string"}},"required":["offer_name","promise","price_point_usd","price_rationale","guarantee","inclusions","bonuses","why_it_converts"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rewrite_pricing"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_read":{"type":"string","description":"What the existing pricing is doing wrong, specifically."},"recommended_tiers":{"minItems":1,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price_usd":{"type":"number"},"for_whom":{"type":"string"},"includes":{"minItems":1,"type":"array","items":{"type":"string"}}},"required":["name","price_usd","for_whom","includes"],"additionalProperties":false}},"migration_note":{"type":"string","description":"How to move existing customers without a revolt."},"expected_effect":{"type":"string"}},"required":["current_read","recommended_tiers","migration_note","expected_effect"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"funnel_review"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"stages":{"minItems":1,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string"},"estimated_conversion_pct":{"anyOf":[{"type":"number"},{"type":"null"}]},"leak":{"type":"string"},"fix":{"type":"string"}},"required":["stage","estimated_conversion_pct","leak","fix"],"additionalProperties":false}},"biggest_leak":{"type":"string","description":"The single stage to fix first."},"quick_win":{"type":"string","description":"Something shippable this week."}},"required":["stages","biggest_leak","quick_win"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"write_outbound_sequence"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"icp":{"type":"string"},"channel":{"type":"string","enum":["email","linkedin","cold_call"]},"merge_fields":{"type":"array","items":{"type":"string","enum":["{{first_name}}","{{last_name}}","{{company}}","{{role}}","{{city}}"]},"description":"Every merge token used anywhere in this sequence, so the caller can map them."},"emails":{"minItems":1,"type":"array","items":{"type":"object","properties":{"step":{"type":"integer","minimum":1,"maximum":9007199254740991},"send_day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after step 1. Step 1 is day 0."},"subject":{"type":"string"},"body":{"type":"string","description":"Ready to send. Personalise ONLY with the permitted merge tokens ({{first_name}}, {{last_name}}, {{company}}, {{role}}, {{city}}) and declare them in merge_fields. Never invent a bracket placeholder like [X units] or [INSERT VALUE] — if you don't have a fact, write a sentence that doesn't need it."},"goal":{"type":"string"}},"required":["step","send_day","subject","body","goal"],"additionalProperties":false}},"follow_up_rule":{"type":"string"},"personalization_inputs":{"type":"array","items":{"type":"string"},"description":"What to research per prospect before sending. Keep it to things findable in 2 minutes."}},"required":["icp","channel","merge_fields","emails","follow_up_rule","personalization_inputs"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"audit_function"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"discipline":{"type":"string","description":"The function audited, e.g. 'Operations' — the coach's own domain."},"overall_score":{"type":"number","minimum":0,"maximum":100,"description":"0-100. Be willing to score low; a flattering audit is worthless."},"findings":{"minItems":2,"maxItems":7,"type":"array","items":{"type":"object","properties":{"area":{"type":"string"},"score":{"type":"number","minimum":0,"maximum":100},"status":{"type":"string","enum":["strong","adequate","weak","critical"]},"evidence":{"type":"string","description":"What in the caller's context supports this score."},"fix":{"type":"string"}},"required":["area","score","status","evidence","fix"],"additionalProperties":false}},"top_priority":{"type":"string","description":"The single finding to act on first, and why that one."},"quick_wins":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Shippable this week."}},"required":["discipline","overall_score","findings","top_priority","quick_wins"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false}]}}}},"400":{"description":"Malformed request. Not charged."},"402":{"description":"Payment required. Retry with an X-PAYMENT header."},"404":{"description":"Unknown agent."},"429":{"description":"Rate limited. Not charged."},"502":{"description":"Upstream model failure. Not charged."},"503":{"description":"Temporarily at capacity. Not charged."}}}},"/api/v1/agents/reed/call":{"post":{"operationId":"call_reed","summary":"Call Reed (Sales). Paid via x402 — from $0.08.","description":"Sales coach. Offers, pricing, and outbound that actually closes.","x-payment-info":{"protocols":["x402"],"price":{"mode":"dynamic","currency":"USD","amount":"0.08","min":"0.08","max":"0.25"},"network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"X-PAYMENT","in":"header","required":false,"schema":{"type":"string"},"description":"x402 payment payload. Omit to receive a 402 with payment requirements."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"diagnose_growth"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"design_offer"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rewrite_pricing"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"funnel_review"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"write_outbound_sequence"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"audit_function"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]}]}}}},"responses":{"200":{"description":"Analysis complete.","content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"diagnose_growth"},"reply":{"type":"string","maxLength":1400,"description":"The operator's answer in plain prose, under 150 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 3, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 3 — a list of 10 is not a plan."},"caveats":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"binding_constraint":{"type":"string","description":"The one discipline that is bleeding: demand, conversion, retention, pricing, or delivery."},"evidence":{"type":"array","items":{"type":"string"},"description":"What in the caller's context points at this constraint."},"ranked_levers":{"minItems":1,"type":"array","items":{"type":"object","properties":{"lever":{"type":"string"},"why":{"type":"string"},"expected_impact":{"type":"string","enum":["small","moderate","large"]}},"required":["lever","why","expected_impact"],"additionalProperties":false},"description":"Levers in priority order. The first one is the recommendation."},"do_not_do":{"type":"array","items":{"type":"string"},"description":"Tempting moves that would waste the next 30 days given this constraint."}},"required":["binding_constraint","evidence","ranked_levers","do_not_do"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"design_offer"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"offer_name":{"type":"string"},"promise":{"type":"string","description":"The outcome, with a time frame. Not a feature list."},"price_point_usd":{"type":"number"},"price_rationale":{"type":"string"},"guarantee":{"type":"string"},"inclusions":{"minItems":1,"type":"array","items":{"type":"string"}},"bonuses":{"type":"array","items":{"type":"string"}},"why_it_converts":{"type":"string"}},"required":["offer_name","promise","price_point_usd","price_rationale","guarantee","inclusions","bonuses","why_it_converts"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rewrite_pricing"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_read":{"type":"string","description":"What the existing pricing is doing wrong, specifically."},"recommended_tiers":{"minItems":1,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price_usd":{"type":"number"},"for_whom":{"type":"string"},"includes":{"minItems":1,"type":"array","items":{"type":"string"}}},"required":["name","price_usd","for_whom","includes"],"additionalProperties":false}},"migration_note":{"type":"string","description":"How to move existing customers without a revolt."},"expected_effect":{"type":"string"}},"required":["current_read","recommended_tiers","migration_note","expected_effect"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"funnel_review"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"stages":{"minItems":1,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string"},"estimated_conversion_pct":{"anyOf":[{"type":"number"},{"type":"null"}]},"leak":{"type":"string"},"fix":{"type":"string"}},"required":["stage","estimated_conversion_pct","leak","fix"],"additionalProperties":false}},"biggest_leak":{"type":"string","description":"The single stage to fix first."},"quick_win":{"type":"string","description":"Something shippable this week."}},"required":["stages","biggest_leak","quick_win"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"write_outbound_sequence"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"icp":{"type":"string"},"channel":{"type":"string","enum":["email","linkedin","cold_call"]},"merge_fields":{"type":"array","items":{"type":"string","enum":["{{first_name}}","{{last_name}}","{{company}}","{{role}}","{{city}}"]},"description":"Every merge token used anywhere in this sequence, so the caller can map them."},"emails":{"minItems":1,"type":"array","items":{"type":"object","properties":{"step":{"type":"integer","minimum":1,"maximum":9007199254740991},"send_day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after step 1. Step 1 is day 0."},"subject":{"type":"string"},"body":{"type":"string","description":"Ready to send. Personalise ONLY with the permitted merge tokens ({{first_name}}, {{last_name}}, {{company}}, {{role}}, {{city}}) and declare them in merge_fields. Never invent a bracket placeholder like [X units] or [INSERT VALUE] — if you don't have a fact, write a sentence that doesn't need it."},"goal":{"type":"string"}},"required":["step","send_day","subject","body","goal"],"additionalProperties":false}},"follow_up_rule":{"type":"string"},"personalization_inputs":{"type":"array","items":{"type":"string"},"description":"What to research per prospect before sending. Keep it to things findable in 2 minutes."}},"required":["icp","channel","merge_fields","emails","follow_up_rule","personalization_inputs"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"audit_function"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"discipline":{"type":"string","description":"The function audited, e.g. 'Operations' — the coach's own domain."},"overall_score":{"type":"number","minimum":0,"maximum":100,"description":"0-100. Be willing to score low; a flattering audit is worthless."},"findings":{"minItems":2,"maxItems":7,"type":"array","items":{"type":"object","properties":{"area":{"type":"string"},"score":{"type":"number","minimum":0,"maximum":100},"status":{"type":"string","enum":["strong","adequate","weak","critical"]},"evidence":{"type":"string","description":"What in the caller's context supports this score."},"fix":{"type":"string"}},"required":["area","score","status","evidence","fix"],"additionalProperties":false}},"top_priority":{"type":"string","description":"The single finding to act on first, and why that one."},"quick_wins":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Shippable this week."}},"required":["discipline","overall_score","findings","top_priority","quick_wins"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false}]}}}},"400":{"description":"Malformed request. Not charged."},"402":{"description":"Payment required. Retry with an X-PAYMENT header."},"404":{"description":"Unknown agent."},"429":{"description":"Rate limited. Not charged."},"502":{"description":"Upstream model failure. Not charged."},"503":{"description":"Temporarily at capacity. Not charged."}}}},"/api/v1/agents/iris/call":{"post":{"operationId":"call_iris","summary":"Call Iris (Marketing). Paid via x402 — from $0.08.","description":"Marketing coach. Demand generation, funnel conversion, and positioning.","x-payment-info":{"protocols":["x402"],"price":{"mode":"dynamic","currency":"USD","amount":"0.08","min":"0.08","max":"0.25"},"network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"X-PAYMENT","in":"header","required":false,"schema":{"type":"string"},"description":"x402 payment payload. Omit to receive a 402 with payment requirements."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"diagnose_growth"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"design_offer"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rewrite_pricing"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"funnel_review"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"write_outbound_sequence"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"audit_function"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]}]}}}},"responses":{"200":{"description":"Analysis complete.","content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"diagnose_growth"},"reply":{"type":"string","maxLength":1400,"description":"The operator's answer in plain prose, under 150 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 3, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 3 — a list of 10 is not a plan."},"caveats":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"binding_constraint":{"type":"string","description":"The one discipline that is bleeding: demand, conversion, retention, pricing, or delivery."},"evidence":{"type":"array","items":{"type":"string"},"description":"What in the caller's context points at this constraint."},"ranked_levers":{"minItems":1,"type":"array","items":{"type":"object","properties":{"lever":{"type":"string"},"why":{"type":"string"},"expected_impact":{"type":"string","enum":["small","moderate","large"]}},"required":["lever","why","expected_impact"],"additionalProperties":false},"description":"Levers in priority order. The first one is the recommendation."},"do_not_do":{"type":"array","items":{"type":"string"},"description":"Tempting moves that would waste the next 30 days given this constraint."}},"required":["binding_constraint","evidence","ranked_levers","do_not_do"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"design_offer"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"offer_name":{"type":"string"},"promise":{"type":"string","description":"The outcome, with a time frame. Not a feature list."},"price_point_usd":{"type":"number"},"price_rationale":{"type":"string"},"guarantee":{"type":"string"},"inclusions":{"minItems":1,"type":"array","items":{"type":"string"}},"bonuses":{"type":"array","items":{"type":"string"}},"why_it_converts":{"type":"string"}},"required":["offer_name","promise","price_point_usd","price_rationale","guarantee","inclusions","bonuses","why_it_converts"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rewrite_pricing"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_read":{"type":"string","description":"What the existing pricing is doing wrong, specifically."},"recommended_tiers":{"minItems":1,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price_usd":{"type":"number"},"for_whom":{"type":"string"},"includes":{"minItems":1,"type":"array","items":{"type":"string"}}},"required":["name","price_usd","for_whom","includes"],"additionalProperties":false}},"migration_note":{"type":"string","description":"How to move existing customers without a revolt."},"expected_effect":{"type":"string"}},"required":["current_read","recommended_tiers","migration_note","expected_effect"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"funnel_review"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"stages":{"minItems":1,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string"},"estimated_conversion_pct":{"anyOf":[{"type":"number"},{"type":"null"}]},"leak":{"type":"string"},"fix":{"type":"string"}},"required":["stage","estimated_conversion_pct","leak","fix"],"additionalProperties":false}},"biggest_leak":{"type":"string","description":"The single stage to fix first."},"quick_win":{"type":"string","description":"Something shippable this week."}},"required":["stages","biggest_leak","quick_win"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"write_outbound_sequence"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"icp":{"type":"string"},"channel":{"type":"string","enum":["email","linkedin","cold_call"]},"merge_fields":{"type":"array","items":{"type":"string","enum":["{{first_name}}","{{last_name}}","{{company}}","{{role}}","{{city}}"]},"description":"Every merge token used anywhere in this sequence, so the caller can map them."},"emails":{"minItems":1,"type":"array","items":{"type":"object","properties":{"step":{"type":"integer","minimum":1,"maximum":9007199254740991},"send_day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after step 1. Step 1 is day 0."},"subject":{"type":"string"},"body":{"type":"string","description":"Ready to send. Personalise ONLY with the permitted merge tokens ({{first_name}}, {{last_name}}, {{company}}, {{role}}, {{city}}) and declare them in merge_fields. Never invent a bracket placeholder like [X units] or [INSERT VALUE] — if you don't have a fact, write a sentence that doesn't need it."},"goal":{"type":"string"}},"required":["step","send_day","subject","body","goal"],"additionalProperties":false}},"follow_up_rule":{"type":"string"},"personalization_inputs":{"type":"array","items":{"type":"string"},"description":"What to research per prospect before sending. Keep it to things findable in 2 minutes."}},"required":["icp","channel","merge_fields","emails","follow_up_rule","personalization_inputs"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"audit_function"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"discipline":{"type":"string","description":"The function audited, e.g. 'Operations' — the coach's own domain."},"overall_score":{"type":"number","minimum":0,"maximum":100,"description":"0-100. Be willing to score low; a flattering audit is worthless."},"findings":{"minItems":2,"maxItems":7,"type":"array","items":{"type":"object","properties":{"area":{"type":"string"},"score":{"type":"number","minimum":0,"maximum":100},"status":{"type":"string","enum":["strong","adequate","weak","critical"]},"evidence":{"type":"string","description":"What in the caller's context supports this score."},"fix":{"type":"string"}},"required":["area","score","status","evidence","fix"],"additionalProperties":false}},"top_priority":{"type":"string","description":"The single finding to act on first, and why that one."},"quick_wins":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Shippable this week."}},"required":["discipline","overall_score","findings","top_priority","quick_wins"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false}]}}}},"400":{"description":"Malformed request. Not charged."},"402":{"description":"Payment required. Retry with an X-PAYMENT header."},"404":{"description":"Unknown agent."},"429":{"description":"Rate limited. Not charged."},"502":{"description":"Upstream model failure. Not charged."},"503":{"description":"Temporarily at capacity. Not charged."}}}},"/api/v1/agents/oak/call":{"post":{"operationId":"call_oak","summary":"Call Oak (Operations). Paid via x402 — from $0.08.","description":"Operations coach. Delivery capacity, process debt, and the systems that run without you.","x-payment-info":{"protocols":["x402"],"price":{"mode":"dynamic","currency":"USD","amount":"0.08","min":"0.08","max":"0.25"},"network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"X-PAYMENT","in":"header","required":false,"schema":{"type":"string"},"description":"x402 payment payload. Omit to receive a 402 with payment requirements."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"diagnose_growth"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"design_offer"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rewrite_pricing"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"funnel_review"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"write_outbound_sequence"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"audit_function"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]}]}}}},"responses":{"200":{"description":"Analysis complete.","content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"diagnose_growth"},"reply":{"type":"string","maxLength":1400,"description":"The operator's answer in plain prose, under 150 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 3, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 3 — a list of 10 is not a plan."},"caveats":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"binding_constraint":{"type":"string","description":"The one discipline that is bleeding: demand, conversion, retention, pricing, or delivery."},"evidence":{"type":"array","items":{"type":"string"},"description":"What in the caller's context points at this constraint."},"ranked_levers":{"minItems":1,"type":"array","items":{"type":"object","properties":{"lever":{"type":"string"},"why":{"type":"string"},"expected_impact":{"type":"string","enum":["small","moderate","large"]}},"required":["lever","why","expected_impact"],"additionalProperties":false},"description":"Levers in priority order. The first one is the recommendation."},"do_not_do":{"type":"array","items":{"type":"string"},"description":"Tempting moves that would waste the next 30 days given this constraint."}},"required":["binding_constraint","evidence","ranked_levers","do_not_do"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"design_offer"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"offer_name":{"type":"string"},"promise":{"type":"string","description":"The outcome, with a time frame. Not a feature list."},"price_point_usd":{"type":"number"},"price_rationale":{"type":"string"},"guarantee":{"type":"string"},"inclusions":{"minItems":1,"type":"array","items":{"type":"string"}},"bonuses":{"type":"array","items":{"type":"string"}},"why_it_converts":{"type":"string"}},"required":["offer_name","promise","price_point_usd","price_rationale","guarantee","inclusions","bonuses","why_it_converts"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rewrite_pricing"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_read":{"type":"string","description":"What the existing pricing is doing wrong, specifically."},"recommended_tiers":{"minItems":1,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price_usd":{"type":"number"},"for_whom":{"type":"string"},"includes":{"minItems":1,"type":"array","items":{"type":"string"}}},"required":["name","price_usd","for_whom","includes"],"additionalProperties":false}},"migration_note":{"type":"string","description":"How to move existing customers without a revolt."},"expected_effect":{"type":"string"}},"required":["current_read","recommended_tiers","migration_note","expected_effect"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"funnel_review"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"stages":{"minItems":1,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string"},"estimated_conversion_pct":{"anyOf":[{"type":"number"},{"type":"null"}]},"leak":{"type":"string"},"fix":{"type":"string"}},"required":["stage","estimated_conversion_pct","leak","fix"],"additionalProperties":false}},"biggest_leak":{"type":"string","description":"The single stage to fix first."},"quick_win":{"type":"string","description":"Something shippable this week."}},"required":["stages","biggest_leak","quick_win"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"write_outbound_sequence"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"icp":{"type":"string"},"channel":{"type":"string","enum":["email","linkedin","cold_call"]},"merge_fields":{"type":"array","items":{"type":"string","enum":["{{first_name}}","{{last_name}}","{{company}}","{{role}}","{{city}}"]},"description":"Every merge token used anywhere in this sequence, so the caller can map them."},"emails":{"minItems":1,"type":"array","items":{"type":"object","properties":{"step":{"type":"integer","minimum":1,"maximum":9007199254740991},"send_day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after step 1. Step 1 is day 0."},"subject":{"type":"string"},"body":{"type":"string","description":"Ready to send. Personalise ONLY with the permitted merge tokens ({{first_name}}, {{last_name}}, {{company}}, {{role}}, {{city}}) and declare them in merge_fields. Never invent a bracket placeholder like [X units] or [INSERT VALUE] — if you don't have a fact, write a sentence that doesn't need it."},"goal":{"type":"string"}},"required":["step","send_day","subject","body","goal"],"additionalProperties":false}},"follow_up_rule":{"type":"string"},"personalization_inputs":{"type":"array","items":{"type":"string"},"description":"What to research per prospect before sending. Keep it to things findable in 2 minutes."}},"required":["icp","channel","merge_fields","emails","follow_up_rule","personalization_inputs"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"audit_function"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"discipline":{"type":"string","description":"The function audited, e.g. 'Operations' — the coach's own domain."},"overall_score":{"type":"number","minimum":0,"maximum":100,"description":"0-100. Be willing to score low; a flattering audit is worthless."},"findings":{"minItems":2,"maxItems":7,"type":"array","items":{"type":"object","properties":{"area":{"type":"string"},"score":{"type":"number","minimum":0,"maximum":100},"status":{"type":"string","enum":["strong","adequate","weak","critical"]},"evidence":{"type":"string","description":"What in the caller's context supports this score."},"fix":{"type":"string"}},"required":["area","score","status","evidence","fix"],"additionalProperties":false}},"top_priority":{"type":"string","description":"The single finding to act on first, and why that one."},"quick_wins":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Shippable this week."}},"required":["discipline","overall_score","findings","top_priority","quick_wins"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false}]}}}},"400":{"description":"Malformed request. Not charged."},"402":{"description":"Payment required. Retry with an X-PAYMENT header."},"404":{"description":"Unknown agent."},"429":{"description":"Rate limited. Not charged."},"502":{"description":"Upstream model failure. Not charged."},"503":{"description":"Temporarily at capacity. Not charged."}}}},"/api/v1/agents/violet/call":{"post":{"operationId":"call_violet","summary":"Call Violet (Service & retention). Paid via x402 — from $0.08.","description":"Service coach. Churn, retention, and turning support into the reason customers stay.","x-payment-info":{"protocols":["x402"],"price":{"mode":"dynamic","currency":"USD","amount":"0.08","min":"0.08","max":"0.25"},"network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"X-PAYMENT","in":"header","required":false,"schema":{"type":"string"},"description":"x402 payment payload. Omit to receive a 402 with payment requirements."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"diagnose_growth"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"design_offer"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rewrite_pricing"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"funnel_review"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"write_outbound_sequence"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"audit_function"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]}]}}}},"responses":{"200":{"description":"Analysis complete.","content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"diagnose_growth"},"reply":{"type":"string","maxLength":1400,"description":"The operator's answer in plain prose, under 150 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 3, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 3 — a list of 10 is not a plan."},"caveats":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"binding_constraint":{"type":"string","description":"The one discipline that is bleeding: demand, conversion, retention, pricing, or delivery."},"evidence":{"type":"array","items":{"type":"string"},"description":"What in the caller's context points at this constraint."},"ranked_levers":{"minItems":1,"type":"array","items":{"type":"object","properties":{"lever":{"type":"string"},"why":{"type":"string"},"expected_impact":{"type":"string","enum":["small","moderate","large"]}},"required":["lever","why","expected_impact"],"additionalProperties":false},"description":"Levers in priority order. The first one is the recommendation."},"do_not_do":{"type":"array","items":{"type":"string"},"description":"Tempting moves that would waste the next 30 days given this constraint."}},"required":["binding_constraint","evidence","ranked_levers","do_not_do"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"design_offer"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"offer_name":{"type":"string"},"promise":{"type":"string","description":"The outcome, with a time frame. Not a feature list."},"price_point_usd":{"type":"number"},"price_rationale":{"type":"string"},"guarantee":{"type":"string"},"inclusions":{"minItems":1,"type":"array","items":{"type":"string"}},"bonuses":{"type":"array","items":{"type":"string"}},"why_it_converts":{"type":"string"}},"required":["offer_name","promise","price_point_usd","price_rationale","guarantee","inclusions","bonuses","why_it_converts"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rewrite_pricing"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_read":{"type":"string","description":"What the existing pricing is doing wrong, specifically."},"recommended_tiers":{"minItems":1,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price_usd":{"type":"number"},"for_whom":{"type":"string"},"includes":{"minItems":1,"type":"array","items":{"type":"string"}}},"required":["name","price_usd","for_whom","includes"],"additionalProperties":false}},"migration_note":{"type":"string","description":"How to move existing customers without a revolt."},"expected_effect":{"type":"string"}},"required":["current_read","recommended_tiers","migration_note","expected_effect"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"funnel_review"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"stages":{"minItems":1,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string"},"estimated_conversion_pct":{"anyOf":[{"type":"number"},{"type":"null"}]},"leak":{"type":"string"},"fix":{"type":"string"}},"required":["stage","estimated_conversion_pct","leak","fix"],"additionalProperties":false}},"biggest_leak":{"type":"string","description":"The single stage to fix first."},"quick_win":{"type":"string","description":"Something shippable this week."}},"required":["stages","biggest_leak","quick_win"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"write_outbound_sequence"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"icp":{"type":"string"},"channel":{"type":"string","enum":["email","linkedin","cold_call"]},"merge_fields":{"type":"array","items":{"type":"string","enum":["{{first_name}}","{{last_name}}","{{company}}","{{role}}","{{city}}"]},"description":"Every merge token used anywhere in this sequence, so the caller can map them."},"emails":{"minItems":1,"type":"array","items":{"type":"object","properties":{"step":{"type":"integer","minimum":1,"maximum":9007199254740991},"send_day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after step 1. Step 1 is day 0."},"subject":{"type":"string"},"body":{"type":"string","description":"Ready to send. Personalise ONLY with the permitted merge tokens ({{first_name}}, {{last_name}}, {{company}}, {{role}}, {{city}}) and declare them in merge_fields. Never invent a bracket placeholder like [X units] or [INSERT VALUE] — if you don't have a fact, write a sentence that doesn't need it."},"goal":{"type":"string"}},"required":["step","send_day","subject","body","goal"],"additionalProperties":false}},"follow_up_rule":{"type":"string"},"personalization_inputs":{"type":"array","items":{"type":"string"},"description":"What to research per prospect before sending. Keep it to things findable in 2 minutes."}},"required":["icp","channel","merge_fields","emails","follow_up_rule","personalization_inputs"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"audit_function"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"discipline":{"type":"string","description":"The function audited, e.g. 'Operations' — the coach's own domain."},"overall_score":{"type":"number","minimum":0,"maximum":100,"description":"0-100. Be willing to score low; a flattering audit is worthless."},"findings":{"minItems":2,"maxItems":7,"type":"array","items":{"type":"object","properties":{"area":{"type":"string"},"score":{"type":"number","minimum":0,"maximum":100},"status":{"type":"string","enum":["strong","adequate","weak","critical"]},"evidence":{"type":"string","description":"What in the caller's context supports this score."},"fix":{"type":"string"}},"required":["area","score","status","evidence","fix"],"additionalProperties":false}},"top_priority":{"type":"string","description":"The single finding to act on first, and why that one."},"quick_wins":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Shippable this week."}},"required":["discipline","overall_score","findings","top_priority","quick_wins"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false}]}}}},"400":{"description":"Malformed request. Not charged."},"402":{"description":"Payment required. Retry with an X-PAYMENT header."},"404":{"description":"Unknown agent."},"429":{"description":"Rate limited. Not charged."},"502":{"description":"Upstream model failure. Not charged."},"503":{"description":"Temporarily at capacity. Not charged."}}}},"/api/v1/agents/fern/call":{"post":{"operationId":"call_fern","summary":"Call Fern (Technology). Paid via x402 — from $0.08.","description":"Technology coach. AI-era stack decisions, automation, and build-vs-buy without the theatre.","x-payment-info":{"protocols":["x402"],"price":{"mode":"dynamic","currency":"USD","amount":"0.08","min":"0.08","max":"0.25"},"network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"X-PAYMENT","in":"header","required":false,"schema":{"type":"string"},"description":"x402 payment payload. Omit to receive a 402 with payment requirements."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"diagnose_growth"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"design_offer"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rewrite_pricing"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"funnel_review"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"write_outbound_sequence"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"audit_function"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]}]}}}},"responses":{"200":{"description":"Analysis complete.","content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"diagnose_growth"},"reply":{"type":"string","maxLength":1400,"description":"The operator's answer in plain prose, under 150 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 3, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 3 — a list of 10 is not a plan."},"caveats":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"binding_constraint":{"type":"string","description":"The one discipline that is bleeding: demand, conversion, retention, pricing, or delivery."},"evidence":{"type":"array","items":{"type":"string"},"description":"What in the caller's context points at this constraint."},"ranked_levers":{"minItems":1,"type":"array","items":{"type":"object","properties":{"lever":{"type":"string"},"why":{"type":"string"},"expected_impact":{"type":"string","enum":["small","moderate","large"]}},"required":["lever","why","expected_impact"],"additionalProperties":false},"description":"Levers in priority order. The first one is the recommendation."},"do_not_do":{"type":"array","items":{"type":"string"},"description":"Tempting moves that would waste the next 30 days given this constraint."}},"required":["binding_constraint","evidence","ranked_levers","do_not_do"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"design_offer"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"offer_name":{"type":"string"},"promise":{"type":"string","description":"The outcome, with a time frame. Not a feature list."},"price_point_usd":{"type":"number"},"price_rationale":{"type":"string"},"guarantee":{"type":"string"},"inclusions":{"minItems":1,"type":"array","items":{"type":"string"}},"bonuses":{"type":"array","items":{"type":"string"}},"why_it_converts":{"type":"string"}},"required":["offer_name","promise","price_point_usd","price_rationale","guarantee","inclusions","bonuses","why_it_converts"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rewrite_pricing"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_read":{"type":"string","description":"What the existing pricing is doing wrong, specifically."},"recommended_tiers":{"minItems":1,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price_usd":{"type":"number"},"for_whom":{"type":"string"},"includes":{"minItems":1,"type":"array","items":{"type":"string"}}},"required":["name","price_usd","for_whom","includes"],"additionalProperties":false}},"migration_note":{"type":"string","description":"How to move existing customers without a revolt."},"expected_effect":{"type":"string"}},"required":["current_read","recommended_tiers","migration_note","expected_effect"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"funnel_review"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"stages":{"minItems":1,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string"},"estimated_conversion_pct":{"anyOf":[{"type":"number"},{"type":"null"}]},"leak":{"type":"string"},"fix":{"type":"string"}},"required":["stage","estimated_conversion_pct","leak","fix"],"additionalProperties":false}},"biggest_leak":{"type":"string","description":"The single stage to fix first."},"quick_win":{"type":"string","description":"Something shippable this week."}},"required":["stages","biggest_leak","quick_win"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"write_outbound_sequence"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"icp":{"type":"string"},"channel":{"type":"string","enum":["email","linkedin","cold_call"]},"merge_fields":{"type":"array","items":{"type":"string","enum":["{{first_name}}","{{last_name}}","{{company}}","{{role}}","{{city}}"]},"description":"Every merge token used anywhere in this sequence, so the caller can map them."},"emails":{"minItems":1,"type":"array","items":{"type":"object","properties":{"step":{"type":"integer","minimum":1,"maximum":9007199254740991},"send_day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after step 1. Step 1 is day 0."},"subject":{"type":"string"},"body":{"type":"string","description":"Ready to send. Personalise ONLY with the permitted merge tokens ({{first_name}}, {{last_name}}, {{company}}, {{role}}, {{city}}) and declare them in merge_fields. Never invent a bracket placeholder like [X units] or [INSERT VALUE] — if you don't have a fact, write a sentence that doesn't need it."},"goal":{"type":"string"}},"required":["step","send_day","subject","body","goal"],"additionalProperties":false}},"follow_up_rule":{"type":"string"},"personalization_inputs":{"type":"array","items":{"type":"string"},"description":"What to research per prospect before sending. Keep it to things findable in 2 minutes."}},"required":["icp","channel","merge_fields","emails","follow_up_rule","personalization_inputs"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"audit_function"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"discipline":{"type":"string","description":"The function audited, e.g. 'Operations' — the coach's own domain."},"overall_score":{"type":"number","minimum":0,"maximum":100,"description":"0-100. Be willing to score low; a flattering audit is worthless."},"findings":{"minItems":2,"maxItems":7,"type":"array","items":{"type":"object","properties":{"area":{"type":"string"},"score":{"type":"number","minimum":0,"maximum":100},"status":{"type":"string","enum":["strong","adequate","weak","critical"]},"evidence":{"type":"string","description":"What in the caller's context supports this score."},"fix":{"type":"string"}},"required":["area","score","status","evidence","fix"],"additionalProperties":false}},"top_priority":{"type":"string","description":"The single finding to act on first, and why that one."},"quick_wins":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Shippable this week."}},"required":["discipline","overall_score","findings","top_priority","quick_wins"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false}]}}}},"400":{"description":"Malformed request. Not charged."},"402":{"description":"Payment required. Retry with an X-PAYMENT header."},"404":{"description":"Unknown agent."},"429":{"description":"Rate limited. Not charged."},"502":{"description":"Upstream model failure. Not charged."},"503":{"description":"Temporarily at capacity. Not charged."}}}},"/api/v1/agents/willow/call":{"post":{"operationId":"call_willow","summary":"Call Willow (People & culture). Paid via x402 — from $0.08.","description":"People coach. Hiring, org design, and leading teams where half the team is agents.","x-payment-info":{"protocols":["x402"],"price":{"mode":"dynamic","currency":"USD","amount":"0.08","min":"0.08","max":"0.25"},"network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"X-PAYMENT","in":"header","required":false,"schema":{"type":"string"},"description":"x402 payment payload. Omit to receive a 402 with payment requirements."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"diagnose_growth"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"design_offer"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rewrite_pricing"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"funnel_review"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"write_outbound_sequence"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"audit_function"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]}]}}}},"responses":{"200":{"description":"Analysis complete.","content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"diagnose_growth"},"reply":{"type":"string","maxLength":1400,"description":"The operator's answer in plain prose, under 150 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 3, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 3 — a list of 10 is not a plan."},"caveats":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"binding_constraint":{"type":"string","description":"The one discipline that is bleeding: demand, conversion, retention, pricing, or delivery."},"evidence":{"type":"array","items":{"type":"string"},"description":"What in the caller's context points at this constraint."},"ranked_levers":{"minItems":1,"type":"array","items":{"type":"object","properties":{"lever":{"type":"string"},"why":{"type":"string"},"expected_impact":{"type":"string","enum":["small","moderate","large"]}},"required":["lever","why","expected_impact"],"additionalProperties":false},"description":"Levers in priority order. The first one is the recommendation."},"do_not_do":{"type":"array","items":{"type":"string"},"description":"Tempting moves that would waste the next 30 days given this constraint."}},"required":["binding_constraint","evidence","ranked_levers","do_not_do"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"design_offer"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"offer_name":{"type":"string"},"promise":{"type":"string","description":"The outcome, with a time frame. Not a feature list."},"price_point_usd":{"type":"number"},"price_rationale":{"type":"string"},"guarantee":{"type":"string"},"inclusions":{"minItems":1,"type":"array","items":{"type":"string"}},"bonuses":{"type":"array","items":{"type":"string"}},"why_it_converts":{"type":"string"}},"required":["offer_name","promise","price_point_usd","price_rationale","guarantee","inclusions","bonuses","why_it_converts"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rewrite_pricing"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_read":{"type":"string","description":"What the existing pricing is doing wrong, specifically."},"recommended_tiers":{"minItems":1,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price_usd":{"type":"number"},"for_whom":{"type":"string"},"includes":{"minItems":1,"type":"array","items":{"type":"string"}}},"required":["name","price_usd","for_whom","includes"],"additionalProperties":false}},"migration_note":{"type":"string","description":"How to move existing customers without a revolt."},"expected_effect":{"type":"string"}},"required":["current_read","recommended_tiers","migration_note","expected_effect"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"funnel_review"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"stages":{"minItems":1,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string"},"estimated_conversion_pct":{"anyOf":[{"type":"number"},{"type":"null"}]},"leak":{"type":"string"},"fix":{"type":"string"}},"required":["stage","estimated_conversion_pct","leak","fix"],"additionalProperties":false}},"biggest_leak":{"type":"string","description":"The single stage to fix first."},"quick_win":{"type":"string","description":"Something shippable this week."}},"required":["stages","biggest_leak","quick_win"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"write_outbound_sequence"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"icp":{"type":"string"},"channel":{"type":"string","enum":["email","linkedin","cold_call"]},"merge_fields":{"type":"array","items":{"type":"string","enum":["{{first_name}}","{{last_name}}","{{company}}","{{role}}","{{city}}"]},"description":"Every merge token used anywhere in this sequence, so the caller can map them."},"emails":{"minItems":1,"type":"array","items":{"type":"object","properties":{"step":{"type":"integer","minimum":1,"maximum":9007199254740991},"send_day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after step 1. Step 1 is day 0."},"subject":{"type":"string"},"body":{"type":"string","description":"Ready to send. Personalise ONLY with the permitted merge tokens ({{first_name}}, {{last_name}}, {{company}}, {{role}}, {{city}}) and declare them in merge_fields. Never invent a bracket placeholder like [X units] or [INSERT VALUE] — if you don't have a fact, write a sentence that doesn't need it."},"goal":{"type":"string"}},"required":["step","send_day","subject","body","goal"],"additionalProperties":false}},"follow_up_rule":{"type":"string"},"personalization_inputs":{"type":"array","items":{"type":"string"},"description":"What to research per prospect before sending. Keep it to things findable in 2 minutes."}},"required":["icp","channel","merge_fields","emails","follow_up_rule","personalization_inputs"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"audit_function"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single growth constraint that is actually binding right now."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"discipline":{"type":"string","description":"The function audited, e.g. 'Operations' — the coach's own domain."},"overall_score":{"type":"number","minimum":0,"maximum":100,"description":"0-100. Be willing to score low; a flattering audit is worthless."},"findings":{"minItems":2,"maxItems":7,"type":"array","items":{"type":"object","properties":{"area":{"type":"string"},"score":{"type":"number","minimum":0,"maximum":100},"status":{"type":"string","enum":["strong","adequate","weak","critical"]},"evidence":{"type":"string","description":"What in the caller's context supports this score."},"fix":{"type":"string"}},"required":["area","score","status","evidence","fix"],"additionalProperties":false}},"top_priority":{"type":"string","description":"The single finding to act on first, and why that one."},"quick_wins":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Shippable this week."}},"required":["discipline","overall_score","findings","top_priority","quick_wins"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage"],"additionalProperties":false}]}}}},"400":{"description":"Malformed request. Not charged."},"402":{"description":"Payment required. Retry with an X-PAYMENT header."},"404":{"description":"Unknown agent."},"429":{"description":"Rate limited. Not charged."},"502":{"description":"Upstream model failure. Not charged."},"503":{"description":"Temporarily at capacity. Not charged."}}}}}}