{"uid":"cap_3U442mXcSB50wzu7iXnjh","slug":"agent-retry-decision-c89a9921","name":"Agent Retry Decision","description":"Decide whether an API/tool failure should be retried and suggest the next action","url":"https://agent-product-normalizer.vercel.app/api/v1/retry-decision","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["status"],"properties":{"error":{"type":"string","maxLength":4000},"status":{"type":"string","maxLength":4},"attempt":{"type":"string","maxLength":3}},"additionalProperties":false}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_fZC5JFNEbVVp7iYJI_-AK","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Determines whether a failed API or tool call should be retried and recommends the next action to take","exampleAgentPrompt":"I just got a 503 error on my GET request after 2 attempts — should I retry it or give up, and what should I do next?","exampleUseCases":[{"title":"Handling rate limit errors gracefully","prompt":"My agent hit a 429 status on a GET request on the first attempt with the error 'too many requests' — should it retry, and if so what's the recommended next action?"},{"title":"Deciding on server error retry","prompt":"I got a 500 internal server error on attempt 3 of a GET call — is it worth retrying again or should I stop and report the failure?"},{"title":"Timeout error retry strategy","prompt":"My tool call returned a 504 gateway timeout on the first attempt — can you tell me whether I should retry it and what the next step should be?"}],"resultDescription":"A structured decision indicating whether the failed request should be retried, along with a recommended next action (e.g. retry with backoff, abort, escalate to human) based on the HTTP status code, error message, and attempt number provided.","failureModes":["Missing required 'status' query parameter returns an error","Status code value exceeding maxLength of 4 characters rejected","Attempt number exceeding maxLength of 3 characters rejected","Invalid or unrecognized status codes may produce uncertain recommendations","Network timeout reaching the decision endpoint itself"],"whenToPreferThis":"Use this endpoint when your AI agent needs a lightweight, stateless decision about whether to retry a failed HTTP or tool call. Ideal for agent orchestration frameworks that need consistent retry logic without hardcoding rules. Prefer this over custom retry logic when you want a pre-built, paid-for-per-call decision service that accounts for error type, HTTP status, and attempt count together.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-18T06:49:11.484Z","isFirstParty":false}