Skip to main content

SDK sample coverage policy

Every generated endpoint page under /api-reference/endpoints/* carries a sample-policy banner at the top. This page is the single reference for what that banner means, what a compliant sample block contains, and how to add a missing language to a page you are editing.

When the six languages land

The supported languages are cURL, Node.js (TypeScript), Python, Go, Ruby, and PHP — the same six listed in the banner. The per-page rule: the first 15 operations render the full six-language <CodeGroup>; every operation after the fifteenth renders cURL and TypeScript, the two most-used forms. A page with 15 or fewer operations never trims — all of its operations show all six languages and no banner is emitted. Because the truncation threshold is a constant, not per-page configuration, new operations slot in before the fifteenth and keep the full set; you do not rebalance anything when the route catalogue grows.

Per-operation requirements

Whether an operation is inside or outside the first-15 slice, its sample blocks must satisfy the same floor:

Fix-forward checklist

When a page needs more language coverage, work this list:
  1. Generated operation block (the catalogue entry): if the operation is beyond the first 15 on its page and needs Python, Go, Ruby, or PHP, add a worked example in the page’s _overlay file instead of moving the catalogue entry. Every edit to the catalogue order shifts the 15-operation cut for more than 200 sibling operations on that page.
  2. Overlay “Worked sequences” section: write the sample there with the full six-language <CodeGroup>, or — when the flow is genuinely two- language — a bare <CodeGroup> holding bash plus TypeScript.
  3. Other overlay sections: the same floor applies — bash and TypeScript, plus the remaining four when the sequence is the page’s headline flow.
  4. Hand-authored endpoint pages (/api-reference/*, e.g. the embedded SDK page): the generated trim does not apply; the per-operation floor above is still the bar.
  5. After editing, regenerate the page and re-check the banner count — the remaining-operations number must match.

Escape hatches per language

Where a generated sample does not cover your route, each SDK exposes an untyped request method that reaches any endpoint: The escape-hatch call is client.request in Java and Ruby, client.RequestAsync in C#, and $client->request in PHP. Each language page walks the pattern end to end, including how the untyped call throws the same typed error subclasses as the typed methods.