> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbit.devotel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# SDK sample coverage policy

> Which operations on a generated endpoint page show all six languages, what every RequestExample and ResponseExample must contain, and how to fix language coverage forward on a page.

# 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:

| Block                     | Requirement                                                                                                                                                                                                                                                                                                                        |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `<RequestExample>`        | Contains **bash (cURL) and TypeScript (Node.js)** at minimum. Operations in the full slice add Python, Go, Ruby, and PHP in that order.                                                                                                                                                                                            |
| `<ResponseExample>`       | Contains the **complete response envelope** — `data` plus the `meta` block with `request_id` and `timestamp` — for the success status, and a full error envelope fenced with a labelled status (for example, `json 422 Error`) when the operation documents one. A `204 No Content` operation may state the status inline instead. |
| Editorial overlay samples | Hand-written sequences in a page's overlay may use cURL only, cURL + TypeScript, or the full six — the same per-operation floor above applies. Never ship Python or any other language alone without bash and TypeScript beside it.                                                                                                |

## 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:

* [Node.js (TypeScript)](/sdks/node)
* [Python](/sdks/python)
* [Go](/sdks/go)
* [Ruby](/sdks/ruby)
* [PHP](/sdks/php)
* [Java](/sdks/java) — pre-publish, vendor from source
* [C#](/sdks/csharp) — pre-publish, vendor from source

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.
