{"uid":"cap_ded6aq_G5ubjXso3AaaC-","slug":"dice-notation-parser-6a199247","name":"Dice Notation Parser","description":"Parse dice notation such as \"3d6+2\", \"4d6kh3\" (keep highest 3) or \"2d20dl1\" (drop lowest 1) into structured terms. Malformed notation is a clean 400.","url":"https://dice.openverbs.com/v1/parse","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":["notation"],"properties":{"notation":{"type":"string","minLength":1,"description":"Dice notation, e.g. \"3d6+2\", \"4d6kh3\", \"1d%\"."}},"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_MvKGrY11LWLmCRAfV7anm","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":"Parses dice notation strings (e.g. '3d6+2', '4d6kh3', '2d20dl1') into structured terms describing dice count, sides, modifiers, and keep/drop rules","exampleAgentPrompt":"Can you parse the dice notation '4d6kh3' for me and break it down into its structured components — how many dice, which die type, and the keep-highest rule?","exampleUseCases":[{"title":"RPG character stat generator","prompt":"I'm building a character creator and need to parse '4d6kh3' into its components so I can validate it before rolling — can you break that notation down into structured terms?"},{"title":"Tabletop game rule validator","prompt":"My game engine needs to verify that '2d20dl1' is a valid dice expression and understand its drop-lowest rule — can you parse that notation into structured data?"},{"title":"Homebrew dice expression debugger","prompt":"A player submitted '3d6+2' as their attack roll formula — can you parse that notation and show me the dice count, die type, and flat modifier separately?"}],"resultDescription":"A structured breakdown of the dice notation including number of dice, die face count (e.g. d6, d20, d%), arithmetic modifiers (+/-), and any keep-highest or drop-lowest rules. Malformed input returns a clean 400 error.","failureModes":["Malformed or unrecognized dice notation returns HTTP 400 with a clean error","Empty notation string rejected by schema (minLength:1)","Unsupported notation syntax (e.g. non-standard extensions) may yield 400","Network timeout or service unavailability"],"whenToPreferThis":"Use this endpoint when you need to validate or structurally decompose a dice notation string without actually rolling it. Ideal for game engines that need to parse user-submitted expressions before executing them, or for building editors and validators. If you also need the probability distribution or an actual roll result, use the sibling endpoints on dice.openverbs.com instead.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T18:30:26.690Z","isFirstParty":false}