OASF API v0.6.0 #431
akijakya
announced in
Announcements
Replies: 1 comment
-
|
The new API version (0.6.0) has been deployed to https://schema.oasf.outshift.com. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi everyone - on 2026-03-23 we are releasing OASF API v0.6.0, the culmination of the API refactor tracked in [Epic] OASF API improvements #417.
This release treats the recent API work as one cohesive improvement: cleaner endpoints, clearer identifiers, better taxonomy navigation, and better version discovery for multi-schema deployments.
The rollout affects all supported OASF versions on the official instance: https://schema.oasf.outshift.com.
Why this refactor was needed
The previous API shape had a few recurring pain points:
uidand the class attributeid, and between simple class names and hierarchical namesAPI v0.6.0 addresses these directly.
Key changes in v0.6.0
1) Endpoint cleanup and simplification
Removed endpoints that were low-value or redundant, including
validate_bundle, and consolidated schema access so clients can rely on/api/*routes consistently (for example, schema retrieval through/api/schema).Why: reduce maintenance burden, lower surface area, and remove confusing alternatives.
2) Improved lookup semantics for taxonomy and class APIs
Lookup patterns now consistently support query-based filtering by both
idandnameon taxonomy and class APIs, instead of forcing path-only lookup variants. Object lookups were also simplified by standardizing on name-based access.Why: this makes integrations less brittle and resolves ambiguity around identifiers, especially when clients only have one identifier form available.
3) Taxonomy/category endpoints now return nested taxonomy structures
<class_family>_categoriesresponses now expose classes in hierarchical taxonomy form (instead of flat category grouping), and include focused fields intended for machine processing and UI navigation.You will also see:
category: truemarkers for category-only nodesdeprecated: truemarkers for deprecated classesWhy: easier traversal for clients and LLM-based enrichment workflows, and clearer parent-child relationships in one response.
4) Better API version discovery metadata
Version endpoints now expose richer metadata so clients can reason about:
schema_versionserver_versionapi_versionWhy: safer multi-version compatibility handling and easier automation when selecting target versions.
What this means for integrators
If your integration still assumes pre-v0.6.0 behavior, please update to:
/api/*canonical routes.id,name) where supported./api/versionand/api/versionsfor compatibility decisions.Breaking-change context
This release rolls up the major API breaking changes introduced during the epic:
Endpoint before/after matrix
This table covers the endpoints impacted by the v0.6.0 refactor and how to migrate.
GET /export/skillsGET /api/skillsexportendpoint removed; API endpoint is canonical/api/skillsfor detailed class payloadsGET /export/domainsGET /api/domainsexportendpoint removed; API endpoint is canonical/api/domainsGET /export/modulesGET /api/modulesexportendpoint removed; API endpoint is canonical/api/modulesGET /export/objectsGET /api/objectsexportendpoint removed; API endpoint is canonical/api/objectsGET /export/schemaGET /api/schema/api/schemaGET /api/modules/:nameGET /api/modules?id=<id>orGET /api/modules?name=<name>idornameGET /api/skills/:nameGET /api/skills?id=<id>orGET /api/skills?name=<name>idornameGET /api/domains/:nameGET /api/domains?id=<id>orGET /api/domains?name=<name>idornameGET /api/module_categories/:nameGET /api/module_categories?id=<id>orGET /api/module_categories?name=<name>classestree; handlecategory/deprecatedmarkersGET /api/skill_categories/:nameGET /api/skill_categories?id=<id>orGET /api/skill_categories?name=<name>classestree; handlecategory/deprecatedmarkersGET /api/domain_categories/:nameGET /api/domain_categories?id=<id>orGET /api/domain_categories?name=<name>classestree; handlecategory/deprecatedmarkersGET /api/objects/:nameGET /api/objects?name=<name>(orGET /api/objectsfor full list)GET /api/objects?name=<name>for single-object retrievalPOST /api/translate/object/:namePOST /api/translate/object/:namePOST /api/validate/object/:namePOST /api/validate/object/:namePOST /api/validate_bundle/skillPOST /api/validate/skillPOST /api/validate_bundle/domainPOST /api/validate/domainPOST /api/validate_bundle/modulePOST /api/validate/moduleGET /api/version->{ "version": "..." }GET /api/version-> schema/server/api metadata objectschema_version,server_version,api_version,url,api_urlGET /api/versionswith minimal version/url pairsGET /api/versionswith per-version metadata + resolved defaultRollout note
This is the API refactor milestone ahead of broader
v1.0.0direction discussed in the epic. Please test your clients against v0.6.0 behavior this week so we can quickly address migration issues before release.If you find compatibility issues, open an issue with sample request/response payloads and the schema/API versions you are targeting.
Beta Was this translation helpful? Give feedback.
All reactions