Every public API header now has one canonical, un-prefixed name

Speechify-Request-Id and RateLimit-* are now the canonical header names across the public API; the old X-prefixed spellings keep working until 2027-07-24.

Developer Relations · SpeechifyAI Labs
1 min read

Speechify already shipped three header families without an X- prefix - Speechify-Version, Speechify-Signature, Speechify-Route - alongside older headers that still carried one, like X-Request-ID. That split is gone: every header in the public API surface now has a single canonical, un-prefixed name, following the same RFC 6648 guidance the newer families already used. (One internal usage-accounting header on the streaming endpoints, X-Speechify-Billable-Characters-Count, is out of scope and keeps its X- form.)

X-Request-ID is now Speechify-Request-Id; the rate-limit budget headers are the un-prefixed RateLimit-Limit / RateLimit-Remaining / RateLimit-Reset (the same IETF-draft names other APIs are converging on); the audio streaming content-type header drops its X- prefix too; and on the request side, X-Speechify-SDK / -SDK-Version and X-Tenant-ID get canonical names as well.

Nothing breaks today. Every legacy X--prefixed spelling is still accepted on requests and still emitted on responses, side by side with the canonical name, through 2027-07-24. Existing integrations don’t need to change; new ones should read the canonical name.

Full before/after table and an example response in the docs changelog entry.

Privacy preferences

Choose what we may store on this device. You can change this at any time from the footer.

Strictly necessary

Sign-in, security, load balancing, and remembering your privacy choices. These cannot be switched off.

Always on

Analytics

How the site is used in aggregate - which pages get read, where people get stuck - so we can improve it.

Marketing

Measures which campaigns bring people here, and lets us show relevant ads on other platforms.