{"info":{"title":"ask2cents","version":"1.1.0","description":"Get a second opinion in seconds. Ask a CEO, a VC, a marketer or seven other personas for their two cents on your idea, pitch or plan, and get a blunt, specific answer. A new key comes with 3 free answers. After that an answer costs $0.50 or less: use a prepaid key, or let your agent pay from its own wallet in the same request. Also available as an MCP server at https://ask2cents.com/mcp.","contact":{"name":"amorimdub","url":"https://ask2cents.com"},"x-author":"amorimdub"},"openapi":"3.1.0","paths":{"/api/2cents":{"post":{"responses":{"200":{"description":"The feedback. With MPP, a Payment-Receipt header proves the payment was accepted. With a key, X-Credits-Remaining gives the balance.","content":{"application/json":{"schema":{"type":"object","required":["persona","question","two_cents","paid_with"],"properties":{"persona":{"type":"object","required":["id","name","title","kind","tagline","available"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"title":{"type":"string"},"kind":{"type":"string","enum":["archetype","simulation"]},"category":{"type":"string","enum":["Roles","Public figure simulations"]},"tagline":{"type":"string","description":"What this persona focuses on"},"available":{"type":"boolean"},"disclaimer":{"type":"string","description":"Present on AI simulations of public figures"}}},"question":{"type":"string","description":"The question as received"},"two_cents":{"type":"string","description":"The feedback, plain text, about 120 words"},"disclaimer":{"type":"string","description":"Present when the persona is an AI simulation of a public figure"},"paid_with":{"type":"string","enum":["credit","mpp"],"description":"How this answer was paid for"},"credits_left":{"type":"integer","description":"Answers left on the key. Present when paid with a credit."},"price_usd":{"type":"string","description":"What this answer cost in US dollars. Present when paid with MPP."}}}}}},"400":{"description":"Unknown persona or missing question. Nothing is charged.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}},"401":{"description":"The API key is not recognised.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}},"402":{"description":"Payment required. Without a key: the WWW-Authenticate: Payment header carries the $0.50 challenge. With a key that has no answers left: a JSON body with top_up_url."},"502":{"description":"The answer could not be generated. A credit is given back; an MPP payment is not refunded automatically.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}}},"x-payment-info":{"offers":[{"amount":"500000","currency":"0x20c0000000000000000000006a37DA5C996874BE","description":"ask2cents: one piece of feedback from one persona","intent":"charge","method":"tempo","recipient":"0xaA67470b415Ba896661864fDf32A2B32126296F1"},{"amount":"500000","currency":"0x20C000000000000000000000b9537d11c60E8b50","description":"ask2cents: one piece of feedback from one persona","intent":"charge","method":"tempo","recipient":"0xaA67470b415Ba896661864fDf32A2B32126296F1"}]},"summary":"Buy one piece of feedback from a persona","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["persona","question"],"properties":{"persona":{"type":"string","description":"Who answers. Use an id from GET /api/personas. Ids ending in -sim are AI simulations of public figures."},"question":{"type":"string","minLength":3,"maxLength":4000,"description":"What you want feedback on. Include the context needed to judge it (numbers, audience, the exact copy); the persona cannot ask follow-up questions."}}}}}},"operationId":"askTwoCents","description":"Two ways to pay. (1) API key: send Authorization: Bearer <key> and one prepaid credit is used per answer; keys are free at POST /api/keys. (2) No key: pay $0.50 for the request with the Machine Payments Protocol (MPP) using stablecoins on Tempo mainnet. With MPP, call without payment to receive HTTP 402 with a WWW-Authenticate: Payment challenge, pay, then repeat the same request with the credential. Invalid input is rejected with 400 and nothing is charged.","security":[{"apiKey":[]},{}]}},"/api/credits/starter":{"post":{"responses":{"200":{"description":"Credits added.","content":{"application/json":{"schema":{"type":"object","required":["account","credits","credits_added"],"properties":{"account":{"type":"string","description":"Public account id. It can only be used to add credits."},"key_hint":{"type":"string","description":"Last four characters of the key"},"credits":{"type":"integer","description":"Answers left"},"used":{"type":"integer","description":"Answers used so far"},"top_up_url":{"type":"string","description":"Page where a person can buy more answers by card"},"api_key":{"type":"string","description":"Only when a new key was created. Shown once."},"credits_added":{"type":"integer"}}}}}},"400":{"description":"Unknown account or key. Nothing is charged.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}},"402":{"description":"Payment required: $5. The WWW-Authenticate: Payment header carries the challenge."}},"x-payment-info":{"offers":[{"amount":"5000000","currency":"0x20c0000000000000000000006a37DA5C996874BE","description":"ask2cents: 10 answers (prepaid credits)","intent":"charge","method":"tempo","recipient":"0xaA67470b415Ba896661864fDf32A2B32126296F1"},{"amount":"5000000","currency":"0x20C000000000000000000000b9537d11c60E8b50","description":"ask2cents: 10 answers (prepaid credits)","intent":"charge","method":"tempo","recipient":"0xaA67470b415Ba896661864fDf32A2B32126296F1"}]},"summary":"Buy 10 answers for $5 ($0.50 each)","operationId":"buyCredits_starter","description":"One MPP payment of $5 for 10 prepaid answers. Accepted: stablecoins on Tempo mainnet. Send {\"account\": \"<id>\"} or an X-Api-Key header to add them to an existing key; send no body to receive a new key in the response.","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"account":{"type":"string","description":"Account id to top up, from GET /api/account. Omit to create a new key."}}}}}}}},"/api/credits/regular":{"post":{"responses":{"200":{"description":"Credits added.","content":{"application/json":{"schema":{"type":"object","required":["account","credits","credits_added"],"properties":{"account":{"type":"string","description":"Public account id. It can only be used to add credits."},"key_hint":{"type":"string","description":"Last four characters of the key"},"credits":{"type":"integer","description":"Answers left"},"used":{"type":"integer","description":"Answers used so far"},"top_up_url":{"type":"string","description":"Page where a person can buy more answers by card"},"api_key":{"type":"string","description":"Only when a new key was created. Shown once."},"credits_added":{"type":"integer"}}}}}},"400":{"description":"Unknown account or key. Nothing is charged.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}},"402":{"description":"Payment required: $10. The WWW-Authenticate: Payment header carries the challenge."}},"x-payment-info":{"offers":[{"amount":"10000000","currency":"0x20c0000000000000000000006a37DA5C996874BE","description":"ask2cents: 25 answers (prepaid credits)","intent":"charge","method":"tempo","recipient":"0xaA67470b415Ba896661864fDf32A2B32126296F1"},{"amount":"10000000","currency":"0x20C000000000000000000000b9537d11c60E8b50","description":"ask2cents: 25 answers (prepaid credits)","intent":"charge","method":"tempo","recipient":"0xaA67470b415Ba896661864fDf32A2B32126296F1"}]},"summary":"Buy 25 answers for $10 ($0.40 each)","operationId":"buyCredits_regular","description":"One MPP payment of $10 for 25 prepaid answers. Accepted: stablecoins on Tempo mainnet. Send {\"account\": \"<id>\"} or an X-Api-Key header to add them to an existing key; send no body to receive a new key in the response.","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"account":{"type":"string","description":"Account id to top up, from GET /api/account. Omit to create a new key."}}}}}}}},"/api/credits/bulk":{"post":{"responses":{"200":{"description":"Credits added.","content":{"application/json":{"schema":{"type":"object","required":["account","credits","credits_added"],"properties":{"account":{"type":"string","description":"Public account id. It can only be used to add credits."},"key_hint":{"type":"string","description":"Last four characters of the key"},"credits":{"type":"integer","description":"Answers left"},"used":{"type":"integer","description":"Answers used so far"},"top_up_url":{"type":"string","description":"Page where a person can buy more answers by card"},"api_key":{"type":"string","description":"Only when a new key was created. Shown once."},"credits_added":{"type":"integer"}}}}}},"400":{"description":"Unknown account or key. Nothing is charged.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}},"402":{"description":"Payment required: $25. The WWW-Authenticate: Payment header carries the challenge."}},"x-payment-info":{"offers":[{"amount":"25000000","currency":"0x20c0000000000000000000006a37DA5C996874BE","description":"ask2cents: 75 answers (prepaid credits)","intent":"charge","method":"tempo","recipient":"0xaA67470b415Ba896661864fDf32A2B32126296F1"},{"amount":"25000000","currency":"0x20C000000000000000000000b9537d11c60E8b50","description":"ask2cents: 75 answers (prepaid credits)","intent":"charge","method":"tempo","recipient":"0xaA67470b415Ba896661864fDf32A2B32126296F1"}]},"summary":"Buy 75 answers for $25 ($0.33 each)","operationId":"buyCredits_bulk","description":"One MPP payment of $25 for 75 prepaid answers. Accepted: stablecoins on Tempo mainnet. Send {\"account\": \"<id>\"} or an X-Api-Key header to add them to an existing key; send no body to receive a new key in the response.","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"account":{"type":"string","description":"Account id to top up, from GET /api/account. Omit to create a new key."}}}}}}}},"/api/keys":{"post":{"operationId":"createKey","summary":"Create an API key (free)","description":"Creates a key with no sign-up. A new key comes with 3 free answers. The key is shown once. The response also carries ready-made install commands for common MCP clients.","responses":{"201":{"description":"The new key and its balance","content":{"application/json":{"schema":{"type":"object","required":["api_key","account","credits"],"properties":{"api_key":{"type":"string"},"account":{"type":"string","description":"Public account id. It can only be used to add credits."},"key_hint":{"type":"string","description":"Last four characters of the key"},"credits":{"type":"integer","description":"Answers left"},"used":{"type":"integer","description":"Answers used so far"},"top_up_url":{"type":"string","description":"Page where a person can buy more answers by card"},"trial":{"type":"boolean","description":"Whether the free answers were granted"},"install":{"type":"object","additionalProperties":{"type":"string"},"description":"Install command or config per MCP client"}}}}}},"429":{"description":"Too many keys created from this address today.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}}}}},"/api/account":{"get":{"operationId":"getAccount","summary":"Balance of an API key (free)","security":[{"apiKey":[]}],"responses":{"200":{"description":"Balance and top-up link","content":{"application/json":{"schema":{"type":"object","required":["account","key_hint","credits","used","top_up_url"],"properties":{"account":{"type":"string","description":"Public account id. It can only be used to add credits."},"key_hint":{"type":"string","description":"Last four characters of the key"},"credits":{"type":"integer","description":"Answers left"},"used":{"type":"integer","description":"Answers used so far"},"top_up_url":{"type":"string","description":"Page where a person can buy more answers by card"}}}}}},"401":{"description":"Missing or unknown key.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}}}}},"/api/personas":{"get":{"operationId":"listPersonas","summary":"List who you can ask (free)","description":"Returns every persona with its id and what it focuses on. No payment needed.","responses":{"200":{"description":"Personas and price","content":{"application/json":{"schema":{"type":"object","required":["price_usd","network","personas"],"properties":{"cost":{"type":"string"},"price_usd":{"type":"string","description":"Price of one answer when paid per request with MPP"},"network":{"type":"string"},"personas":{"type":"array","items":{"type":"object","required":["id","name","title","kind","tagline","available"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"title":{"type":"string"},"kind":{"type":"string","enum":["archetype","simulation"]},"category":{"type":"string","enum":["Roles","Public figure simulations"]},"tagline":{"type":"string","description":"What this persona focuses on"},"available":{"type":"boolean"},"disclaimer":{"type":"string","description":"Present on AI simulations of public figures"}}}}}}}}}}}}},"x-service-info":{"categories":["ai","feedback","advice"],"docs":{"llms":"https://ask2cents.com/llms.txt","homepage":"https://ask2cents.com","apiReference":"https://ask2cents.com/openapi.json"}},"servers":[{"url":"https://ask2cents.com"}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"An ask2cents key (a2c_...), free at POST /api/keys. Also accepted in the X-Api-Key header."}}}}