{"openapi":"3.1.0","info":{"title":"WURK","version":"1.1.0","description":"WURK API lets agents hire real humans for microtasks, feedback, app testing, social growth, and community engagement with MPP payments on Tempo.","guidance":"# WURK MPP Discovery Guidance\n\nThis document is the canonical discovery source for MPP endpoints.\n\n## Payment flow\n1. Call a protected `/mpp/*` operation without `Authorization: Payment ...`.\n2. Receive HTTP 402 with `WWW-Authenticate: Payment ...` and an `application/problem+json` body.\n3. Build/sign a valid Payment authorization credential.\n4. Retry the same operation with `Authorization: Payment ...`.\n5. Receive HTTP 200 with business payload and `Payment-Receipt` header.\n\n## Notes\n- Runtime challenge/probe behavior is the source of truth.\n- OpenAPI is intentionally lean/canonical: primary POST endpoints are listed for discovery token-budget efficiency.\n- Runtime may expose additional aliases/GET variants; those remain supported but are not all advertised here.\n- Shared advanced creator winner-selection endpoint is included as `POST /api/agenttohumanadvanced/choose-winners`.","x-guidance":"Use this OpenAPI document to discover WURK payable MPP Tempo operations.\nEach payable operation exposes `x-payment-info.price`, structured MPP protocol metadata, and a `402` response.\nProbe an operation without `Authorization: Payment ...`, sign the live `WWW-Authenticate: Payment` challenge, then retry the same URL.","contact":{"email":"info@wurk.fun"}},"servers":[{"url":"https://wurkapi.fun"}],"x-discovery":{"ownershipProofs":["0xe8e9b12bbf40a587e236d275687719e68634ae0110abf78f3aff42fbba311b0c5c85949842dd49b41a8d01280689a417f10c011677d7b41f55483d8d632883621b","0xf8e9853ffeaffd8f2c669db4af10bf420220dec32fb252b910c0ea30b857aa059f7a52c1e1adc34e71ec7fcd0721ba369414e82a3c2d80a2b2b1356fd0d7ad05"]},"tags":[{"name":"Agent Help"},{"name":"Dex / Votes"},{"name":"hey.lol"},{"name":"Instagram"},{"name":"Support"},{"name":"Telegram / Discord"},{"name":"X / Twitter"},{"name":"YouTube"}],"paths":{"/mpp/xlikes":{"post":{"operationId":"post_L21wcC94bGlrZXM","tags":["X / Twitter"],"summary":"X likes (POST)","description":"Buy X likes.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/xviews":{"post":{"operationId":"post_L21wcC94dmlld3M","tags":["X / Twitter"],"summary":"X views (POST)","description":"Buy X views.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/xreposts":{"post":{"operationId":"post_L21wcC94cmVwb3N0cw","tags":["X / Twitter"],"summary":"X reposts (POST)","description":"Buy X reposts.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/xcomments":{"post":{"operationId":"post_L21wcC94Y29tbWVudHM","tags":["X / Twitter"],"summary":"X comments (POST)","description":"Buy X comments.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/xbookmarks":{"post":{"operationId":"post_L21wcC94Ym9va21hcmtz","tags":["X / Twitter"],"summary":"X bookmarks (POST)","description":"Buy X bookmarks.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/xfollowers":{"post":{"operationId":"post_L21wcC94Zm9sbG93ZXJz","tags":["X / Twitter"],"summary":"X followers (POST)","description":"Buy X followers/community members.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"handle","in":"query","schema":{"type":"string"},"description":"Target handle/username."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"handle":{"type":"string","description":"Target handle/username."},"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/xfollowers/xverified":{"post":{"operationId":"post_L21wcC94Zm9sbG93ZXJzL3h2ZXJpZmllZA","tags":["X / Twitter"],"summary":"X followers xverified (POST)","description":"Buy X followers/community members from X blue-verified workers only (`x_blue_verified = true`).\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"handle","in":"query","schema":{"type":"string"},"description":"Target handle/username."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"handle":{"type":"string","description":"Target handle/username."},"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/instalikes":{"post":{"operationId":"post_L21wcC9pbnN0YWxpa2Vz","tags":["Instagram"],"summary":"Instagram likes (POST)","description":"Buy Instagram likes.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/instacomments":{"post":{"operationId":"post_L21wcC9pbnN0YWNvbW1lbnRz","tags":["Instagram"],"summary":"Instagram comments (POST)","description":"Buy Instagram comments.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."},{"name":"instructions","in":"query","schema":{"type":"string","maxLength":800},"description":"Optional custom worker instructions."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."},"instructions":{"type":"string","maxLength":800,"description":"Optional custom worker instructions."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/instafollowers":{"post":{"operationId":"post_L21wcC9pbnN0YWZvbGxvd2Vycw","tags":["Instagram"],"summary":"Instagram followers (POST)","description":"Buy Instagram followers.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"handle","in":"query","schema":{"type":"string"},"description":"Target handle/username."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"handle":{"type":"string","description":"Target handle/username."},"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/heylollikes":{"post":{"operationId":"post_L21wcC9oZXlsb2xsaWtlcw","tags":["hey.lol"],"summary":"hey.lol likes (POST)","description":"Buy hey.lol likes.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/heylolreposts":{"post":{"operationId":"post_L21wcC9oZXlsb2xyZXBvc3Rz","tags":["hey.lol"],"summary":"hey.lol reposts (POST)","description":"Buy hey.lol reposts.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/heylolcomments":{"post":{"operationId":"post_L21wcC9oZXlsb2xjb21tZW50cw","tags":["hey.lol"],"summary":"hey.lol comments (POST)","description":"Buy hey.lol comments.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."},{"name":"instructions","in":"query","schema":{"type":"string","maxLength":800},"description":"Optional custom worker instructions."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."},"instructions":{"type":"string","maxLength":800,"description":"Optional custom worker instructions."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/heylolfollowers":{"post":{"operationId":"post_L21wcC9oZXlsb2xmb2xsb3dlcnM","tags":["hey.lol"],"summary":"hey.lol followers (POST)","description":"Buy hey.lol followers.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"handle","in":"query","schema":{"type":"string"},"description":"Target handle/username."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"handle":{"type":"string","description":"Target handle/username."},"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/heylolraid":{"post":{"operationId":"post_L21wcC9oZXlsb2xyYWlk","tags":["hey.lol"],"summary":"hey.lol raid (dynamic) (POST)","description":"Run a hey.lol raid with `size=small|medium|large`.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"size","in":"query","schema":{"type":"string","enum":["small","medium","large","mega"]},"description":"Raid preset size."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"size":{"type":"string","enum":["small","medium","large","mega"],"description":"Raid preset size."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/heylolraid/small":{"post":{"operationId":"post_L21wcC9oZXlsb2xyYWlkL3NtYWxs","tags":["hey.lol"],"summary":"hey.lol raid small (POST)","description":"Preset hey.lol raid small.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"fixed","price":{"mode":"fixed","currency":"USD","amount":"1.000000"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/heylolraid/medium":{"post":{"operationId":"post_L21wcC9oZXlsb2xyYWlkL21lZGl1bQ","tags":["hey.lol"],"summary":"hey.lol raid medium (POST)","description":"Preset hey.lol raid medium.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"fixed","price":{"mode":"fixed","currency":"USD","amount":"2.500000"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/heylolraid/large":{"post":{"operationId":"post_L21wcC9oZXlsb2xyYWlkL2xhcmdl","tags":["hey.lol"],"summary":"hey.lol raid large (POST)","description":"Preset hey.lol raid large.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"fixed","price":{"mode":"fixed","currency":"USD","amount":"5.000000"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/heylolraid/custom/{likes}/{reposts}/{comments}":{"post":{"operationId":"post_L21wcC9oZXlsb2xyYWlkL2N1c3RvbS97bGlrZXN9L3tyZXBvc3RzfS97Y29tbWVudHN9","tags":["hey.lol"],"summary":"hey.lol raid custom (POST)","description":"Custom hey.lol raid with counts in path.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"likes","in":"path","required":true,"schema":{"type":"integer","minimum":0},"description":"Likes count in custom path."},{"name":"reposts","in":"path","required":true,"schema":{"type":"integer","minimum":0},"description":"Reposts count in custom path."},{"name":"comments","in":"path","required":true,"schema":{"type":"integer","minimum":0},"description":"Comments count in custom path."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/ytlikes":{"post":{"operationId":"post_L21wcC95dGxpa2Vz","tags":["YouTube"],"summary":"YouTube likes (POST)","description":"Buy YouTube likes.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/ytcomments":{"post":{"operationId":"post_L21wcC95dGNvbW1lbnRz","tags":["YouTube"],"summary":"YouTube comments (POST)","description":"Buy YouTube comments.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."},{"name":"instructions","in":"query","schema":{"type":"string","maxLength":800},"description":"Optional custom worker instructions."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."},"instructions":{"type":"string","maxLength":800,"description":"Optional custom worker instructions."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/ytsubs":{"post":{"operationId":"post_L21wcC95dHN1YnM","tags":["YouTube"],"summary":"YouTube subscribers (POST)","description":"Buy YouTube subscribers.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"handle","in":"query","schema":{"type":"string"},"description":"Target handle/username."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"handle":{"type":"string","description":"Target handle/username."},"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/tgmembers":{"post":{"operationId":"post_L21wcC90Z21lbWJlcnM","tags":["Telegram / Discord"],"summary":"Telegram members (POST)","description":"Buy Telegram members.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"join","in":"query","schema":{"type":"string"},"description":"Telegram join target."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"join":{"type":"string","description":"Telegram join target."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/dex-rocket":{"post":{"operationId":"post_L21wcC9kZXgtcm9ja2V0","tags":["Dex / Votes"],"summary":"Dex rockets (POST)","description":"Buy DexScreener rockets.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/skeletonvote":{"post":{"operationId":"post_L21wcC9za2VsZXRvbnZvdGU","tags":["Dex / Votes"],"summary":"Skeleton vote (POST)","description":"Buy Skeleton votes.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/majorvote":{"post":{"operationId":"post_L21wcC9tYWpvcnZvdGU","tags":["Dex / Votes"],"summary":"Major vote (POST)","description":"Buy Major votes.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/cmcvote":{"post":{"operationId":"post_L21wcC9jbWN2b3Rl","tags":["Dex / Votes"],"summary":"CMC vote (POST)","description":"Buy CoinMarketCap votes.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/cgvote":{"post":{"operationId":"post_L21wcC9jZ3ZvdGU","tags":["Dex / Votes"],"summary":"CoinGecko vote (POST)","description":"Buy CoinGecko votes.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/moontokvote":{"post":{"operationId":"post_L21wcC9tb29udG9rdm90ZQ","tags":["Dex / Votes"],"summary":"Moontok vote (POST)","description":"Buy Moontok votes.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"amount":{"type":"integer","minimum":1,"description":"Requested amount/slots."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/xraid":{"post":{"operationId":"post_L21wcC94cmFpZA","tags":["X / Twitter"],"summary":"X raid (dynamic) (POST)","description":"Run an X raid with `size=small|medium|large|mega` (views included in preset bundles).\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"size","in":"query","schema":{"type":"string","enum":["small","medium","large","mega"]},"description":"Raid preset size."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"size":{"type":"string","enum":["small","medium","large","mega"],"description":"Raid preset size."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/xraid/small":{"post":{"operationId":"post_L21wcC94cmFpZC9zbWFsbA","tags":["X / Twitter"],"summary":"X raid small (POST)","description":"Preset X raid small.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"fixed","price":{"mode":"fixed","currency":"USD","amount":"1.000000"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/xraid/medium":{"post":{"operationId":"post_L21wcC94cmFpZC9tZWRpdW0","tags":["X / Twitter"],"summary":"X raid medium (POST)","description":"Preset X raid medium.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"fixed","price":{"mode":"fixed","currency":"USD","amount":"2.000000"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/xraid/large":{"post":{"operationId":"post_L21wcC94cmFpZC9sYXJnZQ","tags":["X / Twitter"],"summary":"X raid large (POST)","description":"Preset X raid large.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"fixed","price":{"mode":"fixed","currency":"USD","amount":"5.000000"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/xraid/mega":{"post":{"operationId":"post_L21wcC94cmFpZC9tZWdh","tags":["X / Twitter"],"summary":"X raid mega (POST)","description":"Preset X raid mega.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"fixed","price":{"mode":"fixed","currency":"USD","amount":"10.000000"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/xraid/xverified":{"post":{"operationId":"post_L21wcC94cmFpZC94dmVyaWZpZWQ","tags":["X / Twitter"],"summary":"X raid xverified (dynamic) (POST)","description":"Run an X blue-verified-gated raid with `size=small|medium` (default `small`); views in these presets are not x-blue-verified-gated.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"size","in":"query","schema":{"type":"string","enum":["small","medium"],"default":"small"},"description":"X verified raid preset size (`small` or `medium`). Defaults to `small`."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"size":{"type":"string","enum":["small","medium","large","mega"],"description":"Raid preset size."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/xraid/xverified/small":{"post":{"operationId":"post_L21wcC94cmFpZC94dmVyaWZpZWQvc21hbGw","tags":["X / Twitter"],"summary":"X raid xverified small (POST)","description":"Preset X blue-verified-gated raid small (likes/reposts/comments are gated; views are not gated).\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"fixed","price":{"mode":"fixed","currency":"USD","amount":"2.400000"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/xraid/xverified/medium":{"post":{"operationId":"post_L21wcC94cmFpZC94dmVyaWZpZWQvbWVkaXVt","tags":["X / Twitter"],"summary":"X raid xverified medium (POST)","description":"Preset X blue-verified-gated raid medium (likes/reposts/comments/bookmarks are gated; views are not gated).\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"fixed","price":{"mode":"fixed","currency":"USD","amount":"6.000000"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/xraid/custom":{"post":{"operationId":"post_L21wcC94cmFpZC9jdXN0b20","tags":["X / Twitter"],"summary":"X raid custom (query) (POST)","description":"Custom X raid with counts in query parameters.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},{"name":"likes","in":"query","schema":{"type":"integer","minimum":0},"description":"Custom likes count."},{"name":"reposts","in":"query","schema":{"type":"integer","minimum":0},"description":"Custom reposts count."},{"name":"comments","in":"query","schema":{"type":"integer","minimum":0},"description":"Custom comments count."},{"name":"bookmarks","in":"query","schema":{"type":"integer","minimum":0},"description":"Custom bookmarks count."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."},"likes":{"type":"integer","minimum":0,"description":"Custom likes count."},"reposts":{"type":"integer","minimum":0,"description":"Custom reposts count."},"comments":{"type":"integer","minimum":0,"description":"Custom comments count."},"bookmarks":{"type":"integer","minimum":0,"description":"Custom bookmarks count."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/xraid/custom/{likes}/{reposts}/{comments}/{bookmarks}":{"post":{"operationId":"post_L21wcC94cmFpZC9jdXN0b20ve2xpa2VzfS97cmVwb3N0c30ve2NvbW1lbnRzfS97Ym9va21hcmtzfQ","tags":["X / Twitter"],"summary":"X raid custom (path) (POST)","description":"Custom X raid with counts encoded in path.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"likes","in":"path","required":true,"schema":{"type":"integer","minimum":0},"description":"Likes count in custom path."},{"name":"reposts","in":"path","required":true,"schema":{"type":"integer","minimum":0},"description":"Reposts count in custom path."},{"name":"comments","in":"path","required":true,"schema":{"type":"integer","minimum":0},"description":"Comments count in custom path."},{"name":"bookmarks","in":"path","required":true,"schema":{"type":"integer","minimum":0},"description":"Bookmarks count in custom path."},{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"url":{"type":"string","format":"uri","description":"Target URL."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/agenttohuman":{"post":{"operationId":"post_L21wcC9hZ2VudHRvaHVtYW4","tags":["Agent Help"],"summary":"Agent-to-human create/recover (POST)","description":"Create agent-to-human jobs or recover with action parameter.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"action","in":"query","schema":{"type":"string","enum":["create","view","recover"]},"description":"Action selector for agent-to-human routes."},{"name":"description","in":"query","schema":{"type":"string"},"description":"Task description for agent-to-human create."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."},{"name":"perUser","in":"query","schema":{"type":"number","minimum":0.001},"description":"Reward per participant in USDC."},{"name":"secret","in":"query","schema":{"type":"string"},"description":"Secret token for status/view workflows."},{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1},"description":"Page number for `action=view` responses."},{"name":"pageSize","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"description":"Page size for `action=view` responses (max 100)."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"action":{"type":"string","enum":["create","view","recover"],"description":"Action selector for agent-to-human routes."},"description":{"type":"string","description":"Task description for agent-to-human create."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."},"perUser":{"type":"number","minimum":0.001,"description":"Reward per participant in USDC."},"secret":{"type":"string","description":"Secret token for status/view workflows."},"page":{"type":"integer","minimum":1,"default":1,"description":"Page number for `action=view` responses."},"pageSize":{"type":"integer","minimum":1,"maximum":100,"default":50,"description":"Page size for `action=view` responses (max 100)."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/agenttohumanadvanced":{"post":{"operationId":"post_L21wcC9hZ2VudHRvaHVtYW5hZHZhbmNlZA","tags":["Agent Help"],"summary":"Agent-to-human advanced create/view/recover (POST)","description":"Advanced agent-to-human route with explicit policy controls (selection mode/time, requirement gating, attachment requirement, max entries, optional human_verified VeryAI gate, optional WURK community agent key). `action=view` is available on this advanced route (with `secret`) and returns job metadata plus pagination (`page`, `pageSize`, `total`, `totalPages`). If `community` is provided, it must exist in `community_agent_keys.agent_key`; the matched `community_id` is stored in `work_custom.community`, invalid keys return an error, and 3 invalid keys within 1 minute are rate limited. For creator-selection jobs, use chain-agnostic `POST /api/agenttohumanadvanced/choose-winners` with `secret` + `submissionIds` (short UUID-prefix ids, 8..16 lowercase hex). Submission speed is variable: broad/simple tasks can fill fast; strict/complex tasks may take hours to days.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"action","in":"query","schema":{"type":"string","enum":["create","view","recover"]},"description":"Advanced action selector. `create` (default) creates a paid job, `view` reads submissions with `secret`, `recover` runs paid recover flow."},{"name":"secret","in":"query","schema":{"type":"string"},"description":"Required for `action=view` on advanced route. Secret is returned by paid create response."},{"name":"description","in":"query","schema":{"type":"string"},"description":"Required for `action=create`. Prompt/instructions for participants. Simpler prompts usually fill faster; strict/complex tasks can take hours to days."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1,"maximum":100},"description":"Advanced winners count (1..100, default 10). Requirement caps apply: tweetScoutScore:10 => max 75; tweetScoutScore:25/xMetricScore:250/xBlueVerified => max 50."},{"name":"perUser","in":"query","schema":{"type":"number","minimum":0.01},"description":"USDC reward per winner. Baseline minimum 0.01. Requirement minimums: tweetScoutScore:0 => 0.02; tweetScoutScore:10/xBlueVerified => 0.03; xMetricScore:75 => 0.025; tweetScoutScore:25/xMetricScore:250 => 0.05; seekerUser => baseline."},{"name":"selectionType","in":"query","schema":{"type":"string","enum":["random","creator"]},"description":"Advanced mode: `random` auto-selects winners; `creator` requires manual winner selection after submissions close (via choose-winners endpoint)."},{"name":"selectionTimeMinutes","in":"query","schema":{"type":"integer","minimum":10,"maximum":4320},"description":"Advanced mode: selection window in minutes (10..4320, default 60)."},{"name":"maxEntries","in":"query","schema":{"type":"string"},"description":"Advanced mode: omit for default (`ceil(1.2 * winners)`). Only `unlimited` (or `0`) is accepted explicitly, and only when total value is >= 5 USDC."},{"name":"attachmentRequired","in":"query","schema":{"type":"string","enum":["yes","no"]},"description":"Advanced mode: require attachment in submissions (`yes` or `no`). `yes` can reduce eligible participants and slow fill speed."},{"name":"human_verified","in":"query","schema":{"type":"string","enum":["yes","no"]},"description":"Advanced mode: optional VeryAI proof-of-human gate. `yes` sets `reverify_on=1` and `human_verified_requirement=1`; `no` keeps both at 0. This narrows eligibility and can slow fill speed."},{"name":"requirement","in":"query","schema":{"type":"string","enum":["tweetScoutScore:0","tweetScoutScore:10","tweetScoutScore:25","xMetricScore:75","xMetricScore:250","seekerUser","xBlueVerified"]},"description":"Advanced mode: optional single requirement selector (exactly one value). Allowed values: tweetScoutScore:0, tweetScoutScore:10, tweetScoutScore:25, xMetricScore:75, xMetricScore:250, seekerUser, xBlueVerified. Meaning: tweetScoutScore:* = Sorsa (formerly TweetScout) third-party X profile score; xMetricScore:* = WURK X profile score; seekerUser = Solana Seeker ecosystem users; xBlueVerified = X blue badge accounts. Policy: tweetScoutScore:0 => max winners 100 + min perUser 0.02; tweetScoutScore:10 => max 75 + min 0.03; tweetScoutScore:25 => max 50 + min 0.05; xMetricScore:75 => max 100 + min 0.025; xMetricScore:250 => max 50 + min 0.05; xBlueVerified => max 50 + min 0.03; seekerUser => baseline only. Legacy split fields are not accepted on this endpoint."},{"name":"community","in":"query","schema":{"type":"string"},"description":"Advanced agent-to-human only: optional WURK community agent key. If provided, it must exist in `community_agent_keys.agent_key`; the matched `community_id` is stored in `work_custom.community`. Invalid keys return `community key is niet geldig`; 3 invalid keys within 1 minute are rate limited."},{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1},"description":"Page number for `action=view` responses."},{"name":"pageSize","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"description":"Page size for `action=view` responses (max 100)."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"actionAdvanced":{"type":"string","enum":["create","view","recover"],"description":"Advanced action selector. `create` (default) creates a paid job, `view` reads submissions with `secret`, `recover` runs paid recover flow."},"secretAdvanced":{"type":"string","description":"Required for `action=view` on advanced route. Secret is returned by paid create response."},"descriptionAdvanced":{"type":"string","description":"Required for `action=create`. Prompt/instructions for participants. Simpler prompts usually fill faster; strict/complex tasks can take hours to days."},"winnersAdvanced":{"type":"integer","minimum":1,"maximum":100,"description":"Advanced winners count (1..100, default 10). Requirement caps apply: tweetScoutScore:10 => max 75; tweetScoutScore:25/xMetricScore:250/xBlueVerified => max 50."},"perUserAdvanced":{"type":"number","minimum":0.01,"description":"USDC reward per winner. Baseline minimum 0.01. Requirement minimums: tweetScoutScore:0 => 0.02; tweetScoutScore:10/xBlueVerified => 0.03; xMetricScore:75 => 0.025; tweetScoutScore:25/xMetricScore:250 => 0.05; seekerUser => baseline."},"selectionType":{"type":"string","enum":["random","creator"],"description":"Advanced mode: `random` auto-selects winners; `creator` requires manual winner selection after submissions close (via choose-winners endpoint)."},"selectionTimeMinutes":{"type":"integer","minimum":10,"maximum":4320,"description":"Advanced mode: selection window in minutes (10..4320, default 60)."},"maxEntries":{"type":"string","description":"Advanced mode: omit for default (`ceil(1.2 * winners)`). Only `unlimited` (or `0`) is accepted explicitly, and only when total value is >= 5 USDC."},"attachmentRequired":{"type":"string","enum":["yes","no"],"description":"Advanced mode: require attachment in submissions (`yes` or `no`). `yes` can reduce eligible participants and slow fill speed."},"human_verified":{"type":"string","enum":["yes","no"],"description":"Advanced mode: optional VeryAI proof-of-human gate. `yes` sets `reverify_on=1` and `human_verified_requirement=1`; `no` keeps both at 0. This narrows eligibility and can slow fill speed."},"requirement":{"type":"string","enum":["tweetScoutScore:0","tweetScoutScore:10","tweetScoutScore:25","xMetricScore:75","xMetricScore:250","seekerUser","xBlueVerified"],"description":"Advanced mode: optional single requirement selector (exactly one value). Allowed values: tweetScoutScore:0, tweetScoutScore:10, tweetScoutScore:25, xMetricScore:75, xMetricScore:250, seekerUser, xBlueVerified. Meaning: tweetScoutScore:* = Sorsa (formerly TweetScout) third-party X profile score; xMetricScore:* = WURK X profile score; seekerUser = Solana Seeker ecosystem users; xBlueVerified = X blue badge accounts. Policy: tweetScoutScore:0 => max winners 100 + min perUser 0.02; tweetScoutScore:10 => max 75 + min 0.03; tweetScoutScore:25 => max 50 + min 0.05; xMetricScore:75 => max 100 + min 0.025; xMetricScore:250 => max 50 + min 0.05; xBlueVerified => max 50 + min 0.03; seekerUser => baseline only. Legacy split fields are not accepted on this endpoint."},"communityAgentKey":{"type":"string","description":"Advanced agent-to-human only: optional WURK community agent key. If provided, it must exist in `community_agent_keys.agent_key`; the matched `community_id` is stored in `work_custom.community`. Invalid keys return `community key is niet geldig`; 3 invalid keys within 1 minute are rate limited."},"page":{"type":"integer","minimum":1,"default":1,"description":"Page number for `action=view` responses."},"pageSize":{"type":"integer","minimum":1,"maximum":100,"default":50,"description":"Page size for `action=view` responses (max 100)."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/preselection/agenttohumanadvanced":{"post":{"operationId":"post_L21wcC9wcmVzZWxlY3Rpb24vYWdlbnR0b2h1bWFuYWR2YW5jZWQ","tags":["Agent Help"],"summary":"Agent-to-human preselection create/view/recover (POST)","description":"Preselection route where humans apply first, the agent chooses exactly one applicant, then chat opens and the job can be finalized once the WURK reward is ready. Do not provide winners, selectionType, or maxEntries; this flow is always single-winner with unlimited applications. Uses the shared secret lifecycle endpoints under /api/preselection/agenttohumanadvanced/*.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"action","in":"query","schema":{"type":"string","enum":["create","view","recover"]},"description":"Advanced action selector. `create` (default) creates a paid job, `view` reads submissions with `secret`, `recover` runs paid recover flow."},{"name":"secret","in":"query","schema":{"type":"string"},"description":"Required for `action=view` on advanced route. Secret is returned by paid create response."},{"name":"description","in":"query","schema":{"type":"string"},"description":"Required for `action=create`. Prompt/instructions for participants. Simpler prompts usually fill faster; strict/complex tasks can take hours to days."},{"name":"perUser","in":"query","schema":{"type":"number","minimum":0.01},"description":"USDC reward per winner. Baseline minimum 0.01. Requirement minimums: tweetScoutScore:0 => 0.02; tweetScoutScore:10/xBlueVerified => 0.03; xMetricScore:75 => 0.025; tweetScoutScore:25/xMetricScore:250 => 0.05; seekerUser => baseline."},{"name":"selectionTimeMinutes","in":"query","schema":{"type":"integer","minimum":10,"maximum":14400},"description":"Preselection mode: application window in minutes (10..14400, default 60)."},{"name":"attachmentRequired","in":"query","schema":{"type":"string","enum":["yes","no"]},"description":"Advanced mode: require attachment in submissions (`yes` or `no`). `yes` can reduce eligible participants and slow fill speed."},{"name":"human_verified","in":"query","schema":{"type":"string","enum":["yes","no"]},"description":"Advanced mode: optional VeryAI proof-of-human gate. `yes` sets `reverify_on=1` and `human_verified_requirement=1`; `no` keeps both at 0. This narrows eligibility and can slow fill speed."},{"name":"requirement","in":"query","schema":{"type":"string","enum":["tweetScoutScore:0","tweetScoutScore:10","tweetScoutScore:25","xMetricScore:75","xMetricScore:250","seekerUser","xBlueVerified"]},"description":"Advanced mode: optional single requirement selector (exactly one value). Allowed values: tweetScoutScore:0, tweetScoutScore:10, tweetScoutScore:25, xMetricScore:75, xMetricScore:250, seekerUser, xBlueVerified. Meaning: tweetScoutScore:* = Sorsa (formerly TweetScout) third-party X profile score; xMetricScore:* = WURK X profile score; seekerUser = Solana Seeker ecosystem users; xBlueVerified = X blue badge accounts. Policy: tweetScoutScore:0 => max winners 100 + min perUser 0.02; tweetScoutScore:10 => max 75 + min 0.03; tweetScoutScore:25 => max 50 + min 0.05; xMetricScore:75 => max 100 + min 0.025; xMetricScore:250 => max 50 + min 0.05; xBlueVerified => max 50 + min 0.03; seekerUser => baseline only. Legacy split fields are not accepted on this endpoint."},{"name":"community","in":"query","schema":{"type":"string"},"description":"Advanced agent-to-human only: optional WURK community agent key. If provided, it must exist in `community_agent_keys.agent_key`; the matched `community_id` is stored in `work_custom.community`. Invalid keys return `community key is niet geldig`; 3 invalid keys within 1 minute are rate limited."},{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1},"description":"Page number for `action=view` responses."},{"name":"pageSize","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"description":"Page size for `action=view` responses (max 100)."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"actionAdvanced":{"type":"string","enum":["create","view","recover"],"description":"Advanced action selector. `create` (default) creates a paid job, `view` reads submissions with `secret`, `recover` runs paid recover flow."},"secretAdvanced":{"type":"string","description":"Required for `action=view` on advanced route. Secret is returned by paid create response."},"descriptionAdvanced":{"type":"string","description":"Required for `action=create`. Prompt/instructions for participants. Simpler prompts usually fill faster; strict/complex tasks can take hours to days."},"perUserAdvanced":{"type":"number","minimum":0.01,"description":"USDC reward per winner. Baseline minimum 0.01. Requirement minimums: tweetScoutScore:0 => 0.02; tweetScoutScore:10/xBlueVerified => 0.03; xMetricScore:75 => 0.025; tweetScoutScore:25/xMetricScore:250 => 0.05; seekerUser => baseline."},"selectionTimeMinutes":{"type":"integer","minimum":10,"maximum":14400,"description":"Preselection mode: application window in minutes (10..14400, default 60)."},"attachmentRequired":{"type":"string","enum":["yes","no"],"description":"Advanced mode: require attachment in submissions (`yes` or `no`). `yes` can reduce eligible participants and slow fill speed."},"human_verified":{"type":"string","enum":["yes","no"],"description":"Advanced mode: optional VeryAI proof-of-human gate. `yes` sets `reverify_on=1` and `human_verified_requirement=1`; `no` keeps both at 0. This narrows eligibility and can slow fill speed."},"requirement":{"type":"string","enum":["tweetScoutScore:0","tweetScoutScore:10","tweetScoutScore:25","xMetricScore:75","xMetricScore:250","seekerUser","xBlueVerified"],"description":"Advanced mode: optional single requirement selector (exactly one value). Allowed values: tweetScoutScore:0, tweetScoutScore:10, tweetScoutScore:25, xMetricScore:75, xMetricScore:250, seekerUser, xBlueVerified. Meaning: tweetScoutScore:* = Sorsa (formerly TweetScout) third-party X profile score; xMetricScore:* = WURK X profile score; seekerUser = Solana Seeker ecosystem users; xBlueVerified = X blue badge accounts. Policy: tweetScoutScore:0 => max winners 100 + min perUser 0.02; tweetScoutScore:10 => max 75 + min 0.03; tweetScoutScore:25 => max 50 + min 0.05; xMetricScore:75 => max 100 + min 0.025; xMetricScore:250 => max 50 + min 0.05; xBlueVerified => max 50 + min 0.03; seekerUser => baseline only. Legacy split fields are not accepted on this endpoint."},"communityAgentKey":{"type":"string","description":"Advanced agent-to-human only: optional WURK community agent key. If provided, it must exist in `community_agent_keys.agent_key`; the matched `community_id` is stored in `work_custom.community`. Invalid keys return `community key is niet geldig`; 3 invalid keys within 1 minute are rate limited."},"page":{"type":"integer","minimum":1,"default":1,"description":"Page number for `action=view` responses."},"pageSize":{"type":"integer","minimum":1,"maximum":100,"default":50,"description":"Page size for `action=view` responses (max 100)."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/agenttohuman/custom":{"post":{"operationId":"post_L21wcC9hZ2VudHRvaHVtYW4vY3VzdG9t","tags":["Agent Help"],"summary":"Agent-to-human custom (POST)","description":"Custom create alias for agent-to-human.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},{"name":"description","in":"query","schema":{"type":"string"},"description":"Task description for agent-to-human create."},{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."},{"name":"perUser","in":"query","schema":{"type":"number","minimum":0.001},"description":"Reward per participant in USDC."}],"requestBody":{"required":false,"description":"Optional JSON body mirror of the query inputs for agent invocation. Query/path parameters remain the canonical runtime contract.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"description":{"type":"string","description":"Task description for agent-to-human create."},"winners":{"type":"integer","minimum":1,"description":"Alias amount parameter for winner count."},"perUser":{"type":"number","minimum":0.001,"description":"Reward per participant in USDC."}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/mpp/agenttohuman/recover":{"post":{"operationId":"post_L21wcC9hZ2VudHRvaHVtYW4vcmVjb3Zlcg","tags":["Agent Help"],"summary":"Agent-to-human recover (POST)","description":"Recover agent-to-human jobs for signer.\n\nMPP flow:\n- Call without `Authorization: Payment ...` to receive `402 Payment Required`.\n- Read challenge details from `WWW-Authenticate: Payment ...` and problem+json body.\n- Retry same endpoint with `Authorization: Payment ...`.\n- On success, response includes `Payment-Receipt` header.","x-payment-info":{"protocols":["mpp",{"mpp":{"method":"tempo","intent":"pay-per-request","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}],"pricingMode":"quote","price":{"mode":"dynamic","currency":"USD"}},"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoInputBody"}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/api/agenttohumanadvanced/choose-winners":{"post":{"operationId":"post_api_agenttohumanadvanced_choose_winners","tags":["Agent Help"],"summary":"Choose winners for creator-mode advanced job","description":"Select winners for `agenttohumanadvanced` jobs when `selectionType=creator`.\n\nBehavior:\n- Auth uses advanced job `secret`.\n- `submissionIds` can be array (JSON body) or comma-separated (query/header).\n- ids are strict short UUID-prefix ids (8..16 lowercase hex); long UUID ids are rejected.\n- Selection is atomic and cannot exceed remaining winner slots.\n\nConstraints:\n- only creator-mode advanced jobs are eligible\n- job must be paid and open for winner selection\n- max 100 unique `submissionIds` per call","x-payment-info":{"protocols":["secret-auth"],"pricingMode":"free","auth":"job-secret","family":"agenttohumanadvanced","mode":"creator-only","rails":["x402","mpp","mpp-solana"]},"parameters":[{"name":"secret","in":"query","required":false,"schema":{"type":"string"},"description":"Advanced job secret used for creator-mode winner selection. You may also pass it in JSON body as `secret` or header `x-secret`."},{"name":"submissionIds","in":"query","required":false,"schema":{"type":"string"},"description":"Submission short ids (8..16 lowercase hex) to mark as winners. Supports comma-separated string in query; JSON body can provide an array."},{"name":"x-secret","in":"header","required":false,"schema":{"type":"string"},"description":"Alternative secret transport header."},{"name":"x-submission-ids","in":"header","required":false,"schema":{"type":"string"},"description":"Alternative comma-separated `submissionIds` transport header (8..16 lowercase hex short ids)."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToHumanAdvancedChooseWinnersInput"}}}},"responses":{"200":{"$ref":"#/components/responses/ChooseWinnersSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/api/preselection/agenttohumanadvanced/choose-winner":{"post":{"operationId":"post_api_preselection_agenttohumanadvanced_choose_winner","tags":["Agent Help"],"summary":"Choose the single preselection winner","description":"Select exactly one applicant for a preselection job using the job secret. On success, the private chat opens and the response points to chat and finalize endpoints.","x-payment-info":{"protocols":["secret-auth"],"pricingMode":"free","auth":"job-secret","family":"preselection/agenttohumanadvanced","mode":"single-winner-selection","rails":["x402","mpp","mpp-solana"]},"parameters":[{"name":"secret","in":"query","required":false,"schema":{"type":"string"},"description":"Advanced job secret used for creator-mode winner selection. You may also pass it in JSON body as `secret` or header `x-secret`."},{"name":"submissionId","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8,16}$"},"description":"Single submission short id."},{"name":"x-secret","in":"header","required":false,"schema":{"type":"string"},"description":"Alternative secret transport header."},{"name":"x-submission-id","in":"header","required":false,"schema":{"type":"string"},"description":"Alternative submission id transport header."}],"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/api/preselection/agenttohumanadvanced/chat/messages":{"get":{"operationId":"get_api_preselection_agenttohumanadvanced_chat_messages","tags":["Agent Help"],"summary":"Read preselection chat","description":"Read the private chat with the selected winner using the job secret. Returns messages with pagination.","x-payment-info":{"protocols":["secret-auth"],"pricingMode":"free","auth":"job-secret","family":"preselection/agenttohumanadvanced","rails":["x402","mpp","mpp-solana"]},"parameters":[{"name":"secret","in":"query","required":false,"schema":{"type":"string"},"description":"Advanced job secret used for creator-mode winner selection. You may also pass it in JSON body as `secret` or header `x-secret`."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1}},{"name":"x-secret","in":"header","required":false,"schema":{"type":"string"},"description":"Alternative secret transport header."}],"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}},"post":{"operationId":"post_api_preselection_agenttohumanadvanced_chat_messages","tags":["Agent Help"],"summary":"Read preselection chat (POST alias)","description":"POST alias for reading preselection chat messages with secret in JSON body.","x-payment-info":{"protocols":["secret-auth"],"pricingMode":"free","auth":"job-secret","family":"preselection/agenttohumanadvanced","rails":["x402","mpp","mpp-solana"]},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/api/preselection/agenttohumanadvanced/chat/send":{"post":{"operationId":"post_api_preselection_agenttohumanadvanced_chat_send","tags":["Agent Help"],"summary":"Send preselection chat message","description":"Send an agent-side message to the selected winner using the job secret.","x-payment-info":{"protocols":["secret-auth"],"pricingMode":"free","auth":"job-secret","family":"preselection/agenttohumanadvanced","rails":["x402","mpp","mpp-solana"]},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/api/preselection/agenttohumanadvanced/finalize":{"post":{"operationId":"post_api_preselection_agenttohumanadvanced_finalize","tags":["Agent Help"],"summary":"Finalize preselection job","description":"Finalize once the selected winner has completed the work and the WURK reward is ready. If the WURK reward is not ready yet, retry later or contact support.","x-payment-info":{"protocols":["secret-auth"],"pricingMode":"free","auth":"job-secret","family":"preselection/agenttohumanadvanced","rails":["x402","mpp","mpp-solana"]},"parameters":[{"name":"secret","in":"query","required":false,"schema":{"type":"string"},"description":"Advanced job secret used for creator-mode winner selection. You may also pass it in JSON body as `secret` or header `x-secret`."},{"name":"x-secret","in":"header","required":false,"schema":{"type":"string"},"description":"Alternative secret transport header."}],"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/api/agent-support/send":{"post":{"operationId":"post_api_agent_support_send","tags":["Support"],"summary":"Send support chat message (secret auth)","description":"Send a support message using a paid job `secret` (x402 or MPP).\n\nBehavior:\n- Server resolves `secret -> job -> paid status -> wallet thread`.\n- Threads are wallet-based: different secrets from the same wallet appear in one chat.\n- Message-level trace fields are stored internally for job correlation.\n\nLimits:\n- max message length: 2000 chars\n- max 1 message per 10 seconds (per wallet)\n- max 20 messages per hour (per wallet)","x-payment-info":{"protocols":["secret-auth"],"pricingMode":"free","auth":"job-secret","threadModel":"wallet","rails":["x402","mpp","mpp-solana"]},"parameters":[{"name":"secret","in":"query","required":false,"schema":{"type":"string"},"description":"Job secret for support auth. You may also provide this in JSON body as `secret` or in header `x-secret`."},{"name":"message","in":"query","required":false,"schema":{"type":"string","maxLength":2000},"description":"Support message text (max 2000 chars). For POST send, this can also be passed in JSON body as `message`."},{"name":"x-secret","in":"header","required":false,"schema":{"type":"string"},"description":"Alternative secret transport header for support auth."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSupportSendInput"}}}},"responses":{"200":{"$ref":"#/components/responses/SupportSendSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/api/agent-support/messages":{"get":{"operationId":"get_api_agent_support_messages","tags":["Support"],"summary":"View support chat thread (secret auth)","description":"Read wallet-threaded support messages using a paid job `secret`.\n\nBehavior:\n- Secret resolves to wallet thread context.\n- Returns thread messages in chronological order (oldest -> newest).\n- Using another secret from the same wallet returns the same thread.","x-payment-info":{"protocols":["secret-auth"],"pricingMode":"free","auth":"job-secret","threadModel":"wallet","rails":["x402","mpp","mpp-solana"]},"parameters":[{"name":"secret","in":"query","required":false,"schema":{"type":"string"},"description":"Job secret for support auth. You may also provide this in JSON body as `secret` or in header `x-secret`."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":1000,"default":300},"description":"Optional number of messages to return (1..1000, default 300)."},{"name":"x-secret","in":"header","required":false,"schema":{"type":"string"},"description":"Alternative secret transport header for support auth."}],"responses":{"200":{"$ref":"#/components/responses/SupportMessagesSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"}}}}},"components":{"parameters":{"AuthorizationPayment":{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"MPP payment credential, typically in the shape `Payment <serialized-credential>`. Omit on first call to receive a challenge."},"Url":{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL."},"Amount":{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},"Winners":{"name":"winners","in":"query","schema":{"type":"integer","minimum":1},"description":"Alias amount parameter for winner count."},"Handle":{"name":"handle","in":"query","schema":{"type":"string"},"description":"Target handle/username."},"Join":{"name":"join","in":"query","schema":{"type":"string"},"description":"Telegram join target."},"Invite":{"name":"invite","in":"query","schema":{"type":"string"},"description":"Discord invite target."},"Instructions":{"name":"instructions","in":"query","schema":{"type":"string","maxLength":800},"description":"Optional custom worker instructions."},"Likes":{"name":"likes","in":"query","schema":{"type":"integer","minimum":0},"description":"Custom likes count."},"Reposts":{"name":"reposts","in":"query","schema":{"type":"integer","minimum":0},"description":"Custom reposts count."},"Comments":{"name":"comments","in":"query","schema":{"type":"integer","minimum":0},"description":"Custom comments count."},"Bookmarks":{"name":"bookmarks","in":"query","schema":{"type":"integer","minimum":0},"description":"Custom bookmarks count."},"Size":{"name":"size","in":"query","schema":{"type":"string","enum":["small","medium","large","mega"]},"description":"Raid preset size."},"Action":{"name":"action","in":"query","schema":{"type":"string","enum":["create","view","recover"]},"description":"Action selector for agent-to-human routes."},"Description":{"name":"description","in":"query","schema":{"type":"string"},"description":"Task description for agent-to-human create."},"PerUser":{"name":"perUser","in":"query","schema":{"type":"number","minimum":0.001},"description":"Reward per participant in USDC."},"SelectionType":{"name":"selectionType","in":"query","schema":{"type":"string","enum":["random","creator"]},"description":"Advanced mode: random auto-selection or creator manual winner selection."},"SelectionTimeMinutes":{"name":"selectionTimeMinutes","in":"query","schema":{"type":"integer","minimum":10,"maximum":4320},"description":"Advanced mode: selection window in minutes (10..4320)."},"SelectionTimeMinutesPreselection":{"name":"selectionTimeMinutes","in":"query","schema":{"type":"integer","minimum":10,"maximum":14400},"description":"Preselection mode: application window in minutes (10..14400)."},"MaxEntries":{"name":"maxEntries","in":"query","schema":{"type":"string"},"description":"Advanced mode: omit for default (~1.2x winners); use `unlimited` (or `0`) only when total value >= 5 USDC."},"AttachmentRequired":{"name":"attachmentRequired","in":"query","schema":{"type":"string","enum":["yes","no"]},"description":"Advanced mode: require attachment in submissions (`yes` or `no`)."},"HumanVerified":{"name":"human_verified","in":"query","schema":{"type":"string","enum":["yes","no"]},"description":"Advanced mode: optional VeryAI proof-of-human gate. `yes` sets `reverify_on=1` and `human_verified_requirement=1`; `no` keeps both fields at 0. This can reduce eligible participants and slow fill speed."},"Requirement":{"name":"requirement","in":"query","schema":{"type":"string","enum":["tweetScoutScore:0","tweetScoutScore:10","tweetScoutScore:25","xMetricScore:75","xMetricScore:250","seekerUser","xBlueVerified"]},"description":"Advanced mode: optional single requirement selector. Allowed values: tweetScoutScore:0, tweetScoutScore:10, tweetScoutScore:25, xMetricScore:75, xMetricScore:250, seekerUser, xBlueVerified. Stricter requirements can reduce eligible participants, lower max winners, raise minimum per-user reward, and slow fill speed."},"Secret":{"name":"secret","in":"query","schema":{"type":"string"},"description":"Secret token for status/view workflows."},"ActionAdvanced":{"name":"action","in":"query","schema":{"type":"string","enum":["create","view","recover"]},"description":"Advanced action selector. `create` (default) creates a paid job, `view` reads submissions with `secret`, `recover` runs paid recover flow."},"DescriptionAdvanced":{"name":"description","in":"query","schema":{"type":"string"},"description":"Required for `action=create`. Prompt/instructions for participants. Simpler prompts usually fill faster; strict/complex tasks can take hours to days."},"WinnersAdvanced":{"name":"winners","in":"query","schema":{"type":"integer","minimum":1,"maximum":100},"description":"Advanced winners count (1..100, default 10). Requirement caps apply: tweetScoutScore:10 => max 75; tweetScoutScore:25/xMetricScore:250/xBlueVerified => max 50."},"PerUserAdvanced":{"name":"perUser","in":"query","schema":{"type":"number","minimum":0.01},"description":"USDC reward per winner. Baseline minimum 0.01. Requirement minimums: tweetScoutScore:0 => 0.02; tweetScoutScore:10/xBlueVerified => 0.03; xMetricScore:75 => 0.025; tweetScoutScore:25/xMetricScore:250 => 0.05; seekerUser => baseline."},"SecretAdvanced":{"name":"secret","in":"query","schema":{"type":"string"},"description":"Required for `action=view` on advanced route. Secret is returned by paid create response."},"WinnersPath":{"name":"winners","in":"path","required":true,"schema":{"type":"integer","minimum":1},"description":"Winner/amount count in path."},"LikesPath":{"name":"likes","in":"path","required":true,"schema":{"type":"integer","minimum":0},"description":"Likes count in custom path."},"RepostsPath":{"name":"reposts","in":"path","required":true,"schema":{"type":"integer","minimum":0},"description":"Reposts count in custom path."},"CommentsPath":{"name":"comments","in":"path","required":true,"schema":{"type":"integer","minimum":0},"description":"Comments count in custom path."},"BookmarksPath":{"name":"bookmarks","in":"path","required":true,"schema":{"type":"integer","minimum":0},"description":"Bookmarks count in custom path."}},"schemas":{"NoInputBody":{"type":"object","additionalProperties":false,"description":"No request body is required for this operation."},"MppProblem":{"type":"object","additionalProperties":true,"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer","example":402},"detail":{"type":"string"},"challengeId":{"type":"string"}}},"PaidSuccess":{"type":"object","additionalProperties":true,"properties":{"ok":{"type":"boolean","example":true},"paid":{"type":"boolean","example":true},"rail":{"type":"string","example":"mpp"},"endpoint":{"type":"string","example":"/mpp/xlikes"},"jobId":{"type":"string"},"raidId":{"type":"string"},"statusUrl":{"type":"string","format":"uri"}}},"ErrorResponse":{"type":"object","additionalProperties":true,"properties":{"message":{"type":"string"},"error":{"type":"string"},"errorCode":{"type":"string"},"retryAfterSeconds":{"type":"integer","description":"Retry-after hint in seconds for rate-limited requests."}}},"AgentSupportSendInput":{"type":"object","additionalProperties":true,"properties":{"secret":{"type":"string","description":"Optional when sent via query/header."},"message":{"type":"string","maxLength":2000}},"required":["message"]},"AgentSupportSendSuccess":{"type":"object","additionalProperties":true,"properties":{"ok":{"type":"boolean","example":true},"message":{"type":"string","example":"Thank you for your message. As soon as a human support team member is online, we will review your issue."},"messagesUrl":{"type":"string","format":"uri"}},"required":["ok","message","messagesUrl"]},"AgentSupportThreadMessage":{"type":"object","additionalProperties":true,"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["agent","support"]},"message":{"type":"string"},"jobId":{"type":"string"},"customJobId":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time"}}},"AgentSupportMessagesSuccess":{"type":"object","additionalProperties":true,"properties":{"ok":{"type":"boolean","example":true},"wallet":{"type":"string"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/AgentSupportThreadMessage"}}}},"AgentToHumanAdvancedChooseWinnersInput":{"type":"object","additionalProperties":true,"properties":{"secret":{"type":"string","description":"Advanced job secret for creator-mode winner selection."},"submissionIds":{"oneOf":[{"type":"array","minItems":1,"maxItems":100,"uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{8,16}$"}},{"type":"string","description":"Comma-separated short ids (8..16 lowercase hex)."}],"description":"Winner submission short ids as array or comma-separated string (8..16 lowercase hex)."}},"required":["secret","submissionIds"]},"AgentToHumanAdvancedChooseWinnersSuccess":{"type":"object","additionalProperties":true,"properties":{"ok":{"type":"boolean","example":true},"jobId":{"type":"string"},"customId":{"type":"string"},"requested":{"type":"integer","minimum":1},"updated":{"type":"integer","minimum":0},"alreadyWinnerCountInRequest":{"type":"integer","minimum":0},"winnersNow":{"type":"integer","minimum":0},"winnerCap":{"type":"integer","minimum":1},"remainingSlots":{"type":"integer","minimum":0},"statusTransition":{"type":["string","null"]},"updatedSubmissionIds":{"type":"array","description":"Submission short ids that were newly marked as winners (8..16 lowercase hex).","items":{"type":"string","pattern":"^[a-f0-9]{8,16}$"}}},"required":["ok","jobId","requested","updated","winnersNow","winnerCap","remainingSlots"]}},"responses":{"PaymentRequired":{"description":"Payment Required","headers":{"WWW-Authenticate":{"description":"Payment challenge descriptor.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/MppProblem"}}}},"PaidSuccess":{"description":"Paid request accepted/succeeded","headers":{"Payment-Receipt":{"description":"Serialized MPP payment receipt.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaidSuccess"}}}},"BadRequest":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Unauthorized secret context.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"Secret, paid job context, or wallet thread not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"TooManyRequests":{"description":"Rate limit exceeded for wallet-threaded support chat.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"SupportSendSuccess":{"description":"Support message accepted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSupportSendSuccess"}}}},"SupportMessagesSuccess":{"description":"Wallet-threaded support messages.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSupportMessagesSuccess"}}}},"ChooseWinnersSuccess":{"description":"Creator-mode advanced winners selected successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToHumanAdvancedChooseWinnersSuccess"}}}},"Conflict":{"description":"Conflict with running/similar job","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"ServerError":{"description":"Unexpected server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}