{"uid":"cap_orJxrjjnFKwaJZ6m0oTpC","slug":"iso-8601-duration-humanizer-ce463996","name":"ISO 8601 Duration Humanizer","description":"Render an ISO 8601 duration as an English phrase, e.g. 'P1Y2M' → '1 year and 2 months'. Components are shown in descending order with correct pluralization.","url":"https://datetime.openverbs.com/v1/humanize","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["duration"],"properties":{"duration":{"type":"string","maxLength":128,"minLength":2,"description":"ISO 8601 duration."}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","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.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Q9gkwHTw6EPg9Y_MOjdpq","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Converts an ISO 8601 duration string (e.g. 'P1Y2M10D') into a readable English phrase with correct pluralization and descending component order.","exampleAgentPrompt":"Can you turn the duration 'P1Y3M15DT2H' into a plain English phrase like '1 year, 3 months, 15 days and 2 hours'?","exampleUseCases":[{"title":"Subscription plan duration display","prompt":"I have a subscription duration stored as 'P1Y6M' — can you convert that into a friendly English phrase to show on the billing page?"},{"title":"Countdown timer label formatting","prompt":"The time remaining on this offer is 'PT4H30M' — turn that into a readable English string so I can display it to the user."},{"title":"Log entry elapsed time description","prompt":"Our system recorded an event duration of 'P0Y0M2DT5H45M' — please humanize it into plain English so I can include it in the activity report."}],"resultDescription":"A plain English phrase representing the ISO 8601 duration, with components listed in descending order (years down to seconds) and correct singular/plural forms, e.g. 'P1Y2M10D' → '1 year, 2 months and 10 days'.","failureModes":["Invalid or malformed ISO 8601 duration string returns a 400/422 error","Duration string shorter than 2 characters or longer than 128 characters is rejected","Completely empty or missing 'duration' field returns a validation error","Unsupported duration syntax (e.g. week-only 'P4W' edge cases) may return unexpected output"],"whenToPreferThis":"Choose this endpoint when you need to present a machine-generated ISO 8601 duration to an end user in readable English — for example on billing pages, countdown timers, activity logs, or notification messages. It handles pluralization and component ordering automatically, saving custom formatting logic. Prefer it over writing your own formatter when correctness and consistency across year/month/day/hour/minute/second components is required.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T18:41:21.274Z","isFirstParty":false}