CoreModelsCoreModels

Azure Synapse

Record the constraints that die on the way to a registered schema.

Quickstart · Get it working.
From JSON Schema to a Registration-Ready Synapse Schema in One Call
You have a JSON Schema. Synapse - Sage Bionetworks' data platform - will not accept all of it. Registered Synapse schemas are draft-07, and not even all of draft-07: the platform's `JsonSchema` REST object models a specific keyword subset, and anything outside it simply is not part of a registered schema. This quickstart takes a small, real schema across that boundary in one HTTP call to CoreModels (by ARAMAI), then reads the machine-readable ledger of exactly what the boundary cost.
API · Drive it from the Integration API.
The Synapse Export, Route by Route: A CoreModels API Reference
Every format in the CoreModels transform surface belongs to two lists - the formats we decode and the formats we encode - and `synapse` appears in exactly one of them. The decode list is `jsonschema | shex | avro | jsonld | sql | osi | osi-json | owl | linkml | protobuf | odcs | odm`; the encode list swaps `odm` out and `synapse` in. This page is the working reference for that one direction: which routes produce a Synapse-ready schema, what each accepts, which one controls the registered-schema `$id`, and how to bring a Synapse schema back in anyway.
MCP · Drive it from an agent.
Synapse Schemas from an Agent: transform_schema over MCP, End to End
Connect an MCP client - Claude Desktop, an IDE agent, your own orchestration - to a CoreModels deployment at `https://coremodels.example.com/mcp` (OAuth-protected), and two tools give it the entire Synapse workflow: `transform_schema` produces the registration-ready draft-07 schema, and `generate_synapse_manifests` produces the tabular curation companions. This article is the end-to-end session, with exact arguments and exact results, so an agent - or the person supervising one - knows precisely what each call does and does not do.
Automation · Put it in CI.
Automating Synapse Schema Releases: Determinism, Plan Replay, and Version Discipline
Run the same Synapse export twice against the same model and you get the same bytes. That single property - deterministic encoding - is what turns the CoreModels `synapse` profile from a converter into release machinery: outputs you can commit and diff, plans you can store and replay, and a version rule you can enforce mechanically instead of remembering. This article builds that pipeline piece by piece, with the honest constraints stated where they bite.
Deep dive · Understand what it does.
Inside the synapse Coder: The Whitelist, the Ledger, and the Edge Cases
The entire CoreModels `synapse` profile can be stated in one sentence: *encode the neutral model as JSON Schema, then keep only what the Synapse `JsonSchema` REST object has a field for - and write down every single thing that rule removes.* This deep dive unpacks that sentence into the parts an integrator eventually needs: the IR-to-output mapping, the exact keyword whitelist and how strips are classified, the extras channel that carries verbatim keywords through the neutral model, the complete inventory of lossiness records the encoder can emit, and the edge cases our test suite pins - including the ones where we deliberately refuse to guess.

Why this matters

The case for Azure Synapse — the problem it fixes and what changes when it is fixed — is on coremodels.io.

Read the Azure Synapse guides →