refactor(schema): simplify validation and OpenAPI generation (#2709)

This commit is contained in:
Hampus authored and GitHub committed 2026-09-11 23:24:26 +02:00
1 parent 4bc5593f9f
commit de1fd95a99
510 files changed
+29494 -36131

No files matched your search

@@ -289,7 +289,7 @@ Creates a setup mode session that captures and verifies a card before a localise
| Field | Type | Description |
| --- | --- | --- |
| price_id | string | Registered localised recurring price ID (1-256 characters) |
| country_code<sup>1</sup> | string | Two-letter country used to select the regional price catalogue (2 characters) |
| country_code?<sup>1</sup> | string | Two-letter country used to select the regional price catalogue (2 characters) |
| client_geoip_country_code? | string | Two-letter country the client previously observed for itself (2 characters) |
| eu_withdrawal_waiver_accepted? | boolean | Whether the digital content withdrawal waiver was explicitly accepted |
| is_business? | boolean | Whether to require a billing address for tax invoicing (default false) |
@@ -1359,10 +1359,6 @@ Channel must be a DM or a group DM
Channel must be a voice channel
### `CHANNEL_NAME_EMPTY_AFTER_NORMALIZATION`
Channel name can't be empty after normalization
### `CHANNEL_NOT_FOUND`
Channel not found
@@ -1515,14 +1511,6 @@ Favorite meme name is required
Favorite meme wasn't found
### `FILENAME_EMPTY_AFTER_NORMALIZATION`
Filename can't be empty after normalization
### `FILENAME_INVALID_CHARACTERS`
Filename contains invalid characters
### `FILENAME_LENGTH_INVALID`
Filename must be between {min} and {max} characters
@@ -141,7 +141,7 @@ The tag is a hash of the body alone, so two accounts resolving to the same envel
### Polling
A client reads this route once per session and then again every `poll_interval_seconds`, offset by a random amount up to `poll_jitter_percent` of that interval in either direction. It sends the last `ETag` on every request after the first. A client MUST NOT poll faster than the value it was served.
A client reads this route once per session and then again every `poll_interval_seconds`, offset by a random amount up to `poll_jitter_percent` of that interval in either direction. It sends the last `ETag` on every request after the first. A client MUST NOT poll faster than the lower end of that jitter range.
Raising `poll_interval_seconds` sheds request volume. Raising `poll_jitter_percent` spreads a fleet that has synchronised on one interval. A client that has never reached this route holds the built-in defaults of 300 seconds and 15 percent, so neither value reaches a client that cannot read it.