Skip to content

fix(API): improve post /icu/skeleton documentation#1187

Open
Stephen Lumenta (sbl) wants to merge 2 commits into
mainfrom
devex-117-icu-build-icu-skeletons-v2
Open

fix(API): improve post /icu/skeleton documentation#1187
Stephen Lumenta (sbl) wants to merge 2 commits into
mainfrom
devex-117-icu-build-icu-skeletons-v2

Conversation

@sbl

Copy link
Copy Markdown
Contributor

Improves the documentation for post /icu/skeleton: sharper descriptions, parameter docs, error responses, and usage examples.

Drafted with AI assistance and grounded in the API implementation. Please review for technical accuracy before merging; nothing is merged automatically.

Closes DEVEX-117.

🤖 Generated with Claude Code

Sharper description explaining what ICU skeletons are and when to use
the endpoint. Adds full parameter docs with descriptions and examples,
promotes the requestBody schema to oneOf to document the content/id
mutual-exclusion contract, documents all error responses (400, 401,
403, 404, 422, 429) with actionable remediation text, and updates the
code samples to show realistic locale pairs and expected output.

Resolves DEVEX-117.
@sbl Stephen Lumenta (sbl) added the developer-hub-api-quality API doc quality fix from the API Grader label Jun 15, 2026
@github-actions

github-actions Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

API changelog (oasdiff)

Doc-only edits (descriptions, examples) do not appear here.

15 changes: 1 error, 0 warning, 14 info
error	[request-property-became-enum] at doc/compiled.json
	in API POST /icu/skeleton
		request property `cldr_version` was restricted to a list of enum values

info	[response-property-became-required] at doc/compiled.json
	in API GET /formats
		the response property `items/api_name` became required for the status `200`

info	[response-property-became-required] at doc/compiled.json
	in API GET /formats
		the response property `items/default_encoding` became required for the status `200`

info	[response-property-became-required] at doc/compiled.json
	in API GET /formats
		the response property `items/default_file` became required for the status `200`

info	[response-property-became-required] at doc/compiled.json
	in API GET /formats
		the response property `items/description` became required for the status `200`

info	[response-property-became-required] at doc/compiled.json
	in API GET /formats
		the response property `items/exportable` became required for the status `200`

info	[response-property-became-required] at doc/compiled.json
	in API GET /formats
		the response property `items/extension` became required for the status `200`

info	[response-property-became-required] at doc/compiled.json
	in API GET /formats
		the response property `items/importable` became required for the status `200`

info	[response-property-became-required] at doc/compiled.json
	in API GET /formats
		the response property `items/includes_locale_information` became required for the status `200`

info	[response-property-became-required] at doc/compiled.json
	in API GET /formats
		the response property `items/name` became required for the status `200`

info	[response-property-became-required] at doc/compiled.json
	in API GET /formats
		the response property `items/renders_default_locale` became required for the status `200`

info	[request-body-one-of-added] at doc/compiled.json
	in API POST /icu/skeleton
		added `subschema #1, subschema #2` to the request body `oneOf` list

info	[request-property-enum-value-added] at doc/compiled.json
	in API POST /icu/skeleton
		added the new `cldr_41` enum value to the request property `cldr_version`

info	[request-property-enum-value-added] at doc/compiled.json
	in API POST /icu/skeleton
		added the new `legacy` enum value to the request property `cldr_version`

info	[response-non-success-status-added] at doc/compiled.json
	in API POST /icu/skeleton
		added the non-success response with the status `422`

@sbl

Copy link
Copy Markdown
Contributor Author

This PR replaces #1174, which was closed after jablan's review.

Feedback addressed from #1174:

Comment Status
"Moving existing sections around makes reviewing harder" ✅ Fixed

What changed: requestBody was placed at the bottom of the file in #1174 (after x-code-samples). This PR puts it back between parameters and responses — the standard OpenAPI order — and leaves all other section ordering untouched. Only the fields required by the failing rubric dimensions are modified.

🤖 Generated with Claude Code

@sbl Stephen Lumenta (sbl) changed the title feat(API): improve post /icu/skeleton documentation fix(API): improve post /icu/skeleton documentation Jun 17, 2026
Comment thread paths/icu/skeleton.yaml Outdated
Comment thread paths/icu/skeleton.yaml
- Dedupe the requestBody schema: hoist the six shared properties to the
  top level and keep oneOf only to express the content-xor-id constraint
  (was repeating all six property definitions in both oneOf branches).
- Drop the 'Example response' trailer from the curl and CLI v2 samples;
  the 200 example is already documented on the response, and no other
  endpoint inlines a response in its code sample.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

developer-hub-api-quality API doc quality fix from the API Grader

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants