{"uid":"cap_lGBVDp7fF8xXkDt4uJ53o","slug":"openverbs-ulid-decode-2cbe0da3","name":"OpenVerbs ULID Decode","description":"Validate a ULID and extract its embedded timestamp and time/random components.","url":"https://id.openverbs.com/v1/decode","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":["ulid"],"properties":{"ulid":{"type":"string","maxLength":64,"minLength":1,"description":"The 26-character ULID to decode."}},"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__KJZijjqiokeVGPk0ghV0","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":"Validates a 26-character ULID and extracts its embedded timestamp plus time and random components.","exampleAgentPrompt":"Can you decode this ULID for me — 01ARZ3NDEKTSV4RRFFQ69G5FAV — and tell me what timestamp is embedded in it and whether it's valid?","exampleUseCases":[{"title":"Audit log timestamp recovery","prompt":"We stored event records using ULIDs as IDs and I need to recover when this one was created: 01H2X5K8MNTJ3YQ6WPBDVR4ZF9. Can you decode it and give me the embedded timestamp?"},{"title":"ID validation in ingestion pipeline","prompt":"Before I insert this record, can you check whether 01BX5ZZKBKACTAV9WEVGEMMVS0 is actually a valid ULID so I don't store a malformed ID?"},{"title":"Debugging out-of-order events","prompt":"I've got two ULIDs — 01FZGPZQ3HBKZ5V6GXMJ2WT7SD and 01FZGR0QNPX8Y3C4HTDK6BA2NE — and I want to decode both to see what times they were generated so I can figure out which event came first."}],"resultDescription":"Returns whether the ULID is valid, the decoded UTC timestamp embedded in the first 48 bits, and the separated time and random components that make up the 26-character identifier.","failureModes":["ULID shorter or longer than 26 characters returns a validation error","Non-Crockford-base32 characters in the ULID cause a parse failure","Empty or missing 'ulid' field returns a 400 bad request","Malformed request body (missing required fields) returns a schema validation error","Payment failure or insufficient funds returns a 402 error"],"whenToPreferThis":"Choose this endpoint when you need to validate a ULID's correctness and/or extract its embedded timestamp without writing your own parser. It is particularly useful in agent pipelines that ingest externally supplied ULIDs, need to audit event ordering, or must confirm an ID is well-formed before storing it. Prefer it over a generic UUID validator when your IDs are specifically ULIDs, as it understands ULID's Crockford base32 encoding and monotonicity properties.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T18:30:26.689Z","isFirstParty":false}