Skip to content

Fix: Standardize allOf and Page schema structure for OpenAPI compliance#588

Merged
mrshll1001 merged 4 commits intoopenreferral:3.0from
jeffcumpsty-tpx:fix/allof-page-schema-structure-3.0
Mar 18, 2026
Merged

Fix: Standardize allOf and Page schema structure for OpenAPI compliance#588
mrshll1001 merged 4 commits intoopenreferral:3.0from
jeffcumpsty-tpx:fix/allof-page-schema-structure-3.0

Conversation

@jeffcumpsty-tpx
Copy link
Copy Markdown
Contributor

@jeffcumpsty-tpx jeffcumpsty-tpx commented Mar 6, 2026

Description

standardize allOf composition in openapi.json

  • Restructured paginated response schemas to use a top-level allOf array.
  • Resolved "Sibling Property" conflicts where contents and Page metadata were not merging in validation engines.

Operation ID Correction:

  • Swapped the inverted operationId values for /taxonomy_terms and /taxonomy_terms/{id} to ensure correct mapping
  • in generated client SDKs.

Merge checklist

  • Update the changelog

If you have edited any schema files:

  • Run hsds_schema.py to update datapackage.json and example files

If you are working towards a new MINOR release:

  • Update any $id values in schema files where appropriate
  • Update the $ref values in openapi.json

- Move allOf to be the primary wrapper instead of sibling to properties
- Add explicit type: object and required fields for contents
- Fixes pagination schema validation issues with modern tools
- Resolves openreferral#585
@mrshll1001
Copy link
Copy Markdown
Contributor

Excellent, thanks for this. Especially considering you've had to make three PRs for each MINOR version!

This looks good in terms of the update. Once #586 has been rebased, I'll submit the entirety of them to the PATCH process in the forum and assuming there's no issues, I can merge and issue the PATCHes in a week.

@mrshll1001 mrshll1001 merged commit 84371a3 into openreferral:3.0 Mar 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants