Stripe idempotency key length (255) and Sume's key rules
Stripe allows keys up to 255 characters. Sume generation keys are 1-255 printable ASCII and optional; crawl keys are required and capped at 200.

Stripe says idempotency keys are "up to 255 characters long". Sume's generation key accepts the same upper bound, 1 to 255 characters, but only printable ASCII, and the crawl endpoint requires a key capped at 200. A Stripe-style key such as a UUID fits all of them.
Stripe's figures come from its idempotent requests page; Sume's from the OpenAPI parameter definitions, both read 2026-09-30.
What are the limits side by side?
| Length | Characters | Required? | |
|---|---|---|---|
| Stripe | Up to 255 | Not stated in the snapshot | Not stated in the snapshot |
| Sume paid generation create | 1 to 255 | Printable ASCII, pattern ^[\x20-\x7E]+$ | Optional |
| Sume crawl submission | 1 to 200 | Must contain a non-whitespace character | Required |
What happens when I reuse a Sume key?
On paid creates, reusing the same key with the same operation and normalized payload returns the original job with idempotency_hit: true. A different operation or payload under the same key returns 409 idempotency_conflict. Crawl keys follow the same adopt-or-conflict rule. The retry pattern itself is in idempotency keys for AI video APIs.
Do keys expire?
Stripe says it may remove keys once they are at least 24 hours old. The Sume parameter text I read gives no expiry, so do not assume a window either way; generate a new key for a new intent.
What should I do when porting a Stripe client?
Keep keys to printable ASCII and under 200 characters so one generator works for both. Avoid emoji or accented characters in a key derived from user text. If you hit a conflict, see idempotency conflict versus key in use.
Sources
Related posts
More in Developers
- Submitting 20 avatar videos at once: what each Sume plan accepts
Sume accepts as many paid jobs as concurrency plus queue allows: 6 on Free, 24 on Pro, 48 on Startup, 120 on Scale. Past that a submit returns 429 queue_full.
- Which model does Sume Agent Completions run? Only sume-agent
The model field on POST /v1/agent/completions accepts only sume-agent. Omit it for the same agent; any other value returns 400 invalid_request.
- sume --agent --json: what it redacts before you paste output
Sume CLI --agent mode redacts or summarizes URL-like and account fields where supported. What to still strip before pasting output into a ticket or chat.
- Asset id or public HTTPS URL? What Sume inputs accept
Sume generation fields take public HTTPS URLs directly. Localhost, private, non-HTTPS, signed URLs and wrong content types are rejected. When an asset id helps.
Written by Sume