{"openapi":"3.1.0","info":{"title":"WURK x402 Solana Token Boost Endpoints","version":"1.1.0","description":"WURK API token boost endpoints let agents pay with Solana x402 for DexScreener rockets and token or community vote actions.","x-guidance":"Use this OpenAPI document to discover WURK x402 payable operations.\nFor paid `/solana/*` and `/base/*` operations, call without `PAYMENT-SIGNATURE` to receive a live 402 challenge, sign it, then retry the same URL with `PAYMENT-SIGNATURE`.\nTreat the live 402 response as the source of truth for exact price, asset, payee, and timeout."},"servers":[{"url":"https://wurkapi.fun"}],"tags":[{"name":"Dex"},{"name":"Votes"}],"paths":{"/solana/dex":{"post":{"operationId":"post_solana_dex","tags":["Dex"],"summary":"Dex Rockets (POST)","description":"Public x402 endpoint: `/solana/dex`.\n\nFlow kind: **paid** endpoint.\n\nFlow: call once **without** `PAYMENT-SIGNATURE` to receive `402 Payment-Required`; sign the requirement; retry the same URL **with** `PAYMENT-SIGNATURE` for `200`.\n\nUse `PAYMENT-SIGNATURE` for public routes (`/solana/*`, `/base/*`). `X-PAYMENT` is legacy/test context.\n\nPricing hint: `{\"currency\":\"USDC\",\"perUnit\":0.02,\"unit\":\"rocket\"}`.\n\nDefaults: `{\"amount\":40}`.\n\nLimits: `{\"amountMin\":5,\"amountMax\":250}`.","x-payment-info":{"protocols":["x402",{"x402":{"network":"solana","scheme":"exact","paymentHeader":"PAYMENT-SIGNATURE"}}],"price":{"mode":"dynamic","currency":"USD","description":"The live 402 challenge is the source of truth for the exact amount."},"pricingMode":"quote","challengeSource":"runtime","paymentHeader":"PAYMENT-SIGNATURE"},"parameters":[{"$ref":"#/components/parameters/PaymentSignature"},{"$ref":"#/components/parameters/Url"},{"$ref":"#/components/parameters/Amount"}],"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"},"amount":{"type":"integer","minimum":0}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/solana/vote":{"post":{"operationId":"post_solana_vote","tags":["Votes"],"summary":"Unified Vote Endpoint (POST)","description":"Public x402 endpoint: `/solana/vote`.\n\nFlow kind: **paid** endpoint.\n\nFlow: call once **without** `PAYMENT-SIGNATURE` to receive `402 Payment-Required`; sign the requirement; retry the same URL **with** `PAYMENT-SIGNATURE` for `200`.\n\nUse `PAYMENT-SIGNATURE` for public routes (`/solana/*`, `/base/*`). `X-PAYMENT` is legacy/test context.\n\nPricing hint: `{\"currency\":\"USDC\",\"perUnit\":0.02,\"unit\":\"vote\"}`.\n\nDefaults: `{\"amount\":100,\"voteType\":\"skeleton_vote\"}`.\n\nLimits: `{\"amountMin\":5,\"amountMax\":250,\"voteTypeEnum\":[\"skeleton_vote\",\"moontok_vote\",\"majortrending_vote\",\"coingecko_vote\",\"coinmarketcap_vote\"]}`.\n\nSupported vote types: `skeleton_vote`, `moontok_vote`, `majortrending_vote`, `coingecko_vote`, `coinmarketcap_vote`.","x-payment-info":{"protocols":["x402",{"x402":{"network":"solana","scheme":"exact","paymentHeader":"PAYMENT-SIGNATURE"}}],"price":{"mode":"dynamic","currency":"USD","description":"The live 402 challenge is the source of truth for the exact amount."},"pricingMode":"quote","challengeSource":"runtime","paymentHeader":"PAYMENT-SIGNATURE"},"parameters":[{"$ref":"#/components/parameters/PaymentSignature"},{"$ref":"#/components/parameters/VoteType"},{"$ref":"#/components/parameters/TypeAlias"},{"$ref":"#/components/parameters/Url"},{"$ref":"#/components/parameters/Amount"}],"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":{"voteType":{"type":"string"},"type":{"type":"string"},"url":{"type":"string","format":"uri"},"amount":{"type":"integer","minimum":0}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/solana/skeletonvote":{"post":{"operationId":"post_solana_skeletonvote","tags":["Votes"],"summary":"Skeleton Vote (POST)","description":"Public x402 endpoint: `/solana/skeletonvote`.\n\nFlow kind: **paid** endpoint.\n\nFlow: call once **without** `PAYMENT-SIGNATURE` to receive `402 Payment-Required`; sign the requirement; retry the same URL **with** `PAYMENT-SIGNATURE` for `200`.\n\nUse `PAYMENT-SIGNATURE` for public routes (`/solana/*`, `/base/*`). `X-PAYMENT` is legacy/test context.\n\nPricing hint: `{\"currency\":\"USDC\",\"perUnit\":0.02,\"unit\":\"vote\"}`.\n\nDefaults: `{\"amount\":100,\"voteType\":\"skeleton_vote\"}`.\n\nLimits: `{\"amountMin\":5,\"amountMax\":250,\"voteTypeEnum\":[\"skeleton_vote\",\"moontok_vote\",\"majortrending_vote\",\"coingecko_vote\",\"coinmarketcap_vote\"]}`.\n\nEquivalent voteType for unified `/vote`: `skeleton_vote`.","x-payment-info":{"protocols":["x402",{"x402":{"network":"solana","scheme":"exact","paymentHeader":"PAYMENT-SIGNATURE"}}],"price":{"mode":"dynamic","currency":"USD","description":"The live 402 challenge is the source of truth for the exact amount."},"pricingMode":"quote","challengeSource":"runtime","paymentHeader":"PAYMENT-SIGNATURE"},"parameters":[{"$ref":"#/components/parameters/PaymentSignature"},{"$ref":"#/components/parameters/Url"},{"$ref":"#/components/parameters/Amount"}],"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"},"amount":{"type":"integer","minimum":0}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/solana/majorvote":{"post":{"operationId":"post_solana_majorvote","tags":["Votes"],"summary":"Major Trending Vote (POST)","description":"Public x402 endpoint: `/solana/majorvote`.\n\nFlow kind: **paid** endpoint.\n\nFlow: call once **without** `PAYMENT-SIGNATURE` to receive `402 Payment-Required`; sign the requirement; retry the same URL **with** `PAYMENT-SIGNATURE` for `200`.\n\nUse `PAYMENT-SIGNATURE` for public routes (`/solana/*`, `/base/*`). `X-PAYMENT` is legacy/test context.\n\nPricing hint: `{\"currency\":\"USDC\",\"perUnit\":0.02,\"unit\":\"vote\"}`.\n\nDefaults: `{\"amount\":100,\"voteType\":\"skeleton_vote\"}`.\n\nLimits: `{\"amountMin\":5,\"amountMax\":250,\"voteTypeEnum\":[\"skeleton_vote\",\"moontok_vote\",\"majortrending_vote\",\"coingecko_vote\",\"coinmarketcap_vote\"]}`.\n\nEquivalent voteType for unified `/vote`: `majortrending_vote`.","x-payment-info":{"protocols":["x402",{"x402":{"network":"solana","scheme":"exact","paymentHeader":"PAYMENT-SIGNATURE"}}],"price":{"mode":"dynamic","currency":"USD","description":"The live 402 challenge is the source of truth for the exact amount."},"pricingMode":"quote","challengeSource":"runtime","paymentHeader":"PAYMENT-SIGNATURE"},"parameters":[{"$ref":"#/components/parameters/PaymentSignature"},{"$ref":"#/components/parameters/Url"},{"$ref":"#/components/parameters/Amount"}],"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"},"amount":{"type":"integer","minimum":0}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/solana/cmcvote":{"post":{"operationId":"post_solana_cmcvote","tags":["Votes"],"summary":"CoinMarketCap Vote (POST)","description":"Public x402 endpoint: `/solana/cmcvote`.\n\nFlow kind: **paid** endpoint.\n\nFlow: call once **without** `PAYMENT-SIGNATURE` to receive `402 Payment-Required`; sign the requirement; retry the same URL **with** `PAYMENT-SIGNATURE` for `200`.\n\nUse `PAYMENT-SIGNATURE` for public routes (`/solana/*`, `/base/*`). `X-PAYMENT` is legacy/test context.\n\nPricing hint: `{\"currency\":\"USDC\",\"perUnit\":0.02,\"unit\":\"vote\"}`.\n\nDefaults: `{\"amount\":100,\"voteType\":\"skeleton_vote\"}`.\n\nLimits: `{\"amountMin\":5,\"amountMax\":250,\"voteTypeEnum\":[\"skeleton_vote\",\"moontok_vote\",\"majortrending_vote\",\"coingecko_vote\",\"coinmarketcap_vote\"]}`.\n\nEquivalent voteType for unified `/vote`: `coinmarketcap_vote`.","x-payment-info":{"protocols":["x402",{"x402":{"network":"solana","scheme":"exact","paymentHeader":"PAYMENT-SIGNATURE"}}],"price":{"mode":"dynamic","currency":"USD","description":"The live 402 challenge is the source of truth for the exact amount."},"pricingMode":"quote","challengeSource":"runtime","paymentHeader":"PAYMENT-SIGNATURE"},"parameters":[{"$ref":"#/components/parameters/PaymentSignature"},{"$ref":"#/components/parameters/Url"},{"$ref":"#/components/parameters/Amount"}],"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"},"amount":{"type":"integer","minimum":0}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/solana/cgvote":{"post":{"operationId":"post_solana_cgvote","tags":["Votes"],"summary":"CoinGecko Vote (POST)","description":"Public x402 endpoint: `/solana/cgvote`.\n\nFlow kind: **paid** endpoint.\n\nFlow: call once **without** `PAYMENT-SIGNATURE` to receive `402 Payment-Required`; sign the requirement; retry the same URL **with** `PAYMENT-SIGNATURE` for `200`.\n\nUse `PAYMENT-SIGNATURE` for public routes (`/solana/*`, `/base/*`). `X-PAYMENT` is legacy/test context.\n\nPricing hint: `{\"currency\":\"USDC\",\"perUnit\":0.02,\"unit\":\"vote\"}`.\n\nDefaults: `{\"amount\":100,\"voteType\":\"skeleton_vote\"}`.\n\nLimits: `{\"amountMin\":5,\"amountMax\":250,\"voteTypeEnum\":[\"skeleton_vote\",\"moontok_vote\",\"majortrending_vote\",\"coingecko_vote\",\"coinmarketcap_vote\"]}`.\n\nEquivalent voteType for unified `/vote`: `coingecko_vote`.","x-payment-info":{"protocols":["x402",{"x402":{"network":"solana","scheme":"exact","paymentHeader":"PAYMENT-SIGNATURE"}}],"price":{"mode":"dynamic","currency":"USD","description":"The live 402 challenge is the source of truth for the exact amount."},"pricingMode":"quote","challengeSource":"runtime","paymentHeader":"PAYMENT-SIGNATURE"},"parameters":[{"$ref":"#/components/parameters/PaymentSignature"},{"$ref":"#/components/parameters/Url"},{"$ref":"#/components/parameters/Amount"}],"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"},"amount":{"type":"integer","minimum":0}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/solana/moontokvote":{"post":{"operationId":"post_solana_moontokvote","tags":["Votes"],"summary":"Moontok Vote (POST)","description":"Public x402 endpoint: `/solana/moontokvote`.\n\nFlow kind: **paid** endpoint.\n\nFlow: call once **without** `PAYMENT-SIGNATURE` to receive `402 Payment-Required`; sign the requirement; retry the same URL **with** `PAYMENT-SIGNATURE` for `200`.\n\nUse `PAYMENT-SIGNATURE` for public routes (`/solana/*`, `/base/*`). `X-PAYMENT` is legacy/test context.\n\nPricing hint: `{\"currency\":\"USDC\",\"perUnit\":0.02,\"unit\":\"vote\"}`.\n\nDefaults: `{\"amount\":100,\"voteType\":\"skeleton_vote\"}`.\n\nLimits: `{\"amountMin\":5,\"amountMax\":250,\"voteTypeEnum\":[\"skeleton_vote\",\"moontok_vote\",\"majortrending_vote\",\"coingecko_vote\",\"coinmarketcap_vote\"]}`.\n\nEquivalent voteType for unified `/vote`: `moontok_vote`.","x-payment-info":{"protocols":["x402",{"x402":{"network":"solana","scheme":"exact","paymentHeader":"PAYMENT-SIGNATURE"}}],"price":{"mode":"dynamic","currency":"USD","description":"The live 402 challenge is the source of truth for the exact amount."},"pricingMode":"quote","challengeSource":"runtime","paymentHeader":"PAYMENT-SIGNATURE"},"parameters":[{"$ref":"#/components/parameters/PaymentSignature"},{"$ref":"#/components/parameters/Url"},{"$ref":"#/components/parameters/Amount"}],"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"},"amount":{"type":"integer","minimum":0}}}}}},"responses":{"200":{"$ref":"#/components/responses/PaidSuccess"},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"500":{"$ref":"#/components/responses/ServerError"}}}}},"components":{"parameters":{"PaymentSignature":{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"x402 v2 payment signature for public routes. Omit on first request to get `402 Payment-Required`; include on retry to settle.","schema":{"type":"string"}},"Url":{"name":"url","in":"query","schema":{"type":"string","format":"uri"},"description":"Target URL or profile URL."},"Amount":{"name":"amount","in":"query","schema":{"type":"integer","minimum":1},"description":"Requested amount/slots."},"Handle":{"name":"handle","in":"query","schema":{"type":"string"},"description":"Handle/username style target."},"Community":{"name":"community","in":"query","schema":{"type":"string"},"description":"X community URL or identifier."},"Instructions":{"name":"instructions","in":"query","schema":{"type":"string","maxLength":800},"description":"Optional custom instructions."},"Size":{"name":"size","in":"query","schema":{"type":"string","enum":["small","medium","large"]},"description":"Raid preset size."},"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."},"Join":{"name":"join","in":"query","schema":{"type":"string"},"description":"Telegram join target (URL, @handle, invite)."},"Group":{"name":"group","in":"query","schema":{"type":"string"},"description":"Telegram group alias parameter."},"Invite":{"name":"invite","in":"query","schema":{"type":"string"},"description":"Discord invite URL/code."},"Address":{"name":"address","in":"query","schema":{"type":"string"},"description":"Base profile address (0x...)."},"VoteType":{"name":"voteType","in":"query","schema":{"type":"string","enum":["skeleton_vote","moontok_vote","majortrending_vote","coingecko_vote","coinmarketcap_vote"]},"description":"Vote type for unified `/vote` endpoint."},"TypeAlias":{"name":"type","in":"query","schema":{"type":"string","enum":["skeleton_vote","moontok_vote","majortrending_vote","coingecko_vote","coinmarketcap_vote"]},"description":"Alias of `voteType` for unified `/vote`."},"Action":{"name":"action","in":"query","schema":{"type":"string","enum":["create","view","recover"]},"description":"Action selector for agent-to-human."},"Secret":{"name":"secret","in":"query","schema":{"type":"string"},"description":"Secret/view key for submission retrieval."},"Description":{"name":"description","in":"query","schema":{"type":"string"},"description":"Task description for agent-to-human create."},"Winners":{"name":"winners","in":"query","schema":{"type":"integer","minimum":1,"maximum":100},"description":"Number of winners."},"PerUser":{"name":"perUser","in":"query","schema":{"type":"number","minimum":0.01},"description":"USDC reward per participant."},"Page":{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1},"description":"Page number for view responses."},"PageSize":{"name":"pageSize","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"description":"Page size for view responses (max 100)."},"Requirement":{"name":"requirement","in":"query","schema":{"type":"string","enum":["tweetScoutScore:0","tweetScoutScore:10","tweetScoutScore:25","xMetricScore:75","xMetricScore:250","seekerUser","xBlueVerified"]},"description":"Optional single requirement selector for `agenttohumanadvanced`. Meaning: tweetScoutScore:* = Sorsa (formerly TweetScout) third-party X profile score; xMetricScore:* = WURK-generated X profile score (follower count, follower quality, profile signals); seekerUser = users in the Solana Seeker phone ecosystem; xBlueVerified = X account with a blue verified badge. Stricter requirements can reduce eligible participants and slow fill speed. 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."},"HumanVerified":{"name":"human_verified","in":"query","schema":{"type":"string","enum":["yes","no"]},"description":"Optional proof-of-human gate powered by VeryAI palm verification. `yes` stores `reverify_on=1` and `human_verified_requirement=1` on work/work_custom; `no` keeps both at 0. This can improve trust/quality on sensitive tasks but narrows eligible workers and may slow fill speed."},"CommunityAgentKey":{"name":"community","in":"query","schema":{"type":"string"},"description":"Optional WURK community agent key for `agenttohumanadvanced`. If provided, the key 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."},"WinnersPath":{"name":"winners","in":"path","required":true,"schema":{"type":"integer","minimum":1,"maximum":250},"description":"Winner/slot count in path alias. Range is endpoint-specific (commonly 1..100 for agent-help, 5..250 for social jobs)."},"SecretPath":{"name":"secret","in":"path","required":true,"schema":{"type":"string"},"description":"Secret/view key in path."},"LikesPath":{"name":"likes","in":"path","required":true,"schema":{"type":"integer","minimum":0},"description":"Custom likes path value."},"RepostsPath":{"name":"reposts","in":"path","required":true,"schema":{"type":"integer","minimum":0},"description":"Custom reposts path value."},"CommentsPath":{"name":"comments","in":"path","required":true,"schema":{"type":"integer","minimum":0},"description":"Custom comments path value."},"BookmarksPath":{"name":"bookmarks","in":"path","required":true,"schema":{"type":"integer","minimum":0},"description":"Custom bookmarks path value."}},"schemas":{"PaymentRequirement":{"type":"object","additionalProperties":true,"properties":{"scheme":{"type":"string"},"network":{"type":"string"},"maxAmountRequired":{"type":"string"},"resource":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"payTo":{"type":"string"},"asset":{"type":"string"},"maxTimeoutSeconds":{"type":"integer"},"extra":{"type":"object","additionalProperties":true}}},"PaymentRequiredResponse":{"type":"object","additionalProperties":true,"required":["x402Version","accepts","resource"],"properties":{"x402Version":{"type":"integer","example":2},"accepts":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/PaymentRequirement"}},"error":{"type":"string"},"resource":{"description":"Requested resource metadata echoed by payment middleware.","oneOf":[{"type":"string"},{"type":"object","additionalProperties":true}]},"extensions":{"type":"object","additionalProperties":true}}},"PaidSuccessResponse":{"type":"object","additionalProperties":true,"properties":{"ok":{"type":"boolean","example":true},"paid":{"type":"boolean","example":true},"alreadyConfirmed":{"type":"boolean","example":false},"message":{"type":"string"},"jobId":{"type":"string"},"statusUrl":{"type":"string","format":"uri"}}},"ErrorResponse":{"type":"object","additionalProperties":true,"properties":{"message":{"type":"string"},"error":{"type":"string"},"errorCode":{"type":"string","description":"Machine-readable application error code (when available)."},"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. Sign and retry with `PAYMENT-SIGNATURE` (public v2 flow).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"PaidSuccess":{"description":"Operation accepted/completed (after settlement on paid routes, or immediately for free variants).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaidSuccessResponse"}}}},"BadRequest":{"description":"Invalid request input or malformed payment signature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Unauthorized secret context.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"Requested resource, job, or secret could not be 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 current state (for example, duplicate/similar running job).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"ServerError":{"description":"Unexpected server-side failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}