Repository navigation
fix(api-catalog): resync specs and keep constraints that sit beside a $ref - #357
Merged
Merged
Conversation
…tomer Profiles, Domains, Hosting and Orders APIs Refreshes the embedded API catalog and the Domains, Hosting and platform app codegen specs so `gddy api` reflects the current upstream definitions: - App Registry: new operations to list, create and revoke OAuth client secrets - Customer Profiles: `deleteMetafields` is replaced by `removeMetafieldsFromCustomer` and `upsertCustomerMetafields` - Domains 3.7.0 and Hosting 1.1.0: documentation updates only; no new commands or endpoints - Orders 1.12.0: money fields use the new positive-money type Also documents how to resolve a failing API catalog drift check in the maintainers guide, with a pointer from CONTRIBUTING.md. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
jpage-godaddy
requested review from
apetrovic-godaddy,
axburgess-godaddy,
jhenderson1-godaddy,
jpearlman-godaddy,
mguerrero3-godaddy,
qcai-godaddy and
rts1-godaddy
as code owners
November 3, 2026 21:57
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The schema change removes the nonnegative constraint from positive-money, allowing negative amounts in fields such as Discount.amount and LineItem.unitAmount; the constraint must be preserved through generation.
1 open issue
What changed in this PR
Refreshes the embedded API catalog used by gddy api and related client-generation schemas, and documents how maintainers can resolve catalog drift.
Changes:
- Adds App Registry OAuth secret operations and updates Customer Profiles metafield operations.
- Refreshes Domains and Hosting definitions and migrates Orders money fields to
positive-money. - Adds spec-refresh instructions and links them from the contributor guide.
| File | Description |
|---|---|
rust/schemas/api/orders.json |
Updates money definitions and return totals for Orders 1.12.0. |
rust/schemas/api/manifest.json |
Updates the generation timestamp. |
rust/schemas/api/hosting.json |
Updates Hosting descriptions, examples, and preview URL nullability. |
rust/schemas/api/domains.json |
Updates Domains documentation and version metadata. |
rust/schemas/api/customer-profiles.json |
Replaces metafield deletion and adds metafield upsert definitions. |
rust/schemas/api/app-registry.json |
Adds OAuth secret operations and associated types. |
rust/platform-app-client/graphql/schema.graphql |
Synchronizes the App Registry client schema. |
rust/hosting-client/openapi/hosting.oas3.json |
Updates the Hosting client spec version. |
rust/domains-client/openapi/domains.oas3.json |
Adds forwarding parameter and scope definitions; updates documentation. |
docs/maintainers.md |
Documents spec refreshes and drift-check recovery. |
CONTRIBUTING.md |
Clarifies refresh access requirements and links the maintainer guide. |
Review effort: Balanced
…$ref The catalog generator replaced every `$ref` with a bare pointer, discarding sibling keywords. That dropped constraints such as the `minimum: 0` that Orders' `positive-money` adds to `simple-money`, and per-field annotations such as `description`, `readOnly`, `nullable` and `example`. Sibling keywords are now kept beside the lifted `$ref`, and the embedded catalog and codegen specs are regenerated so `gddy api schema get` shows the constraints the upstream specs declare. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
jpage-godaddy
requested review from
sgimpel-godaddy,
srao-godaddy and
sswaminathan-godaddy
as code owners
November 3, 2026 22:27
Keeping keywords that sit beside a `$ref` also kept a misplaced `required: true` on one Bulk Operations request body. A schema-level `required` must be an array of property names, so the generator now omits a non-array `required` there; the request body's own `required` flag is unchanged. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
Human assessment is needed to evaluate inconsistent order-total formulas and mismatches between generated outputs, maintainer guidance, and CI drift-check coverage.
No open issues 🎉
2 resolved since last review
Review effort: Balanced
The maintainers guide said the drift workflow compares every path the generator rewrites. It checks only the catalog and the Domains and Hosting specs; the Email, Shopping and platform app specs are also regenerated and must be committed with them. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
Resyncs the embedded API catalog and the Domains, Hosting and platform app codegen specs with the latest upstream definitions, fixes a catalog generator bug that dropped schema constraints, and documents how to resolve a failing API catalog drift check.
What changed
Spec resync
deleteMetafieldsis replaced byremoveMetafieldsFromCustomerandupsertCustomerMetafields.positive-moneytype (non-negative amounts).Generator fix (refined during review)
$refwith a bare pointer and discarded the keywords beside it. That lost constraints such as theminimum: 0thatpositive-moneyadds tosimple-money.$ref, with regression tests. The catalog and the codegen specs for Domains, Email, Hosting and Shopping are regenerated, so they now carry annotations such asreadOnly,description,nullableandexample.requiredbeside a$ref(one Bulk Operations request body) is dropped, since a schema-levelrequiredmust be an array.gddy api schema getdoes not display numeric constraints such asminimumyet; that is a separate CLI change.Docs
docs/maintainers.md, linked fromCONTRIBUTING.md.No CLI command changes are included; the existing commands build and pass against the regenerated specs.
Testing
Generated with
cargo run -p generate-api-catalog.cargo check,cargo clippy --workspace -- -D warnings,cargo test --workspace,cargo fmt --checkandcheck-module-size.shall pass.🤖 Generated with Claude Code