Files
Each build's JSON Schema 2020-12 files, its rules with their test vectors, and its example payloads are in the public repository, under specs/openproposal/. This site serves each schema file under the spec's path, and every $ref is relative. Each file's $id still names it under https://openproposal.noetis.dev/; the $ids move to this site's paths before the first frozen release.
main · As written
- JSON Schema files 17 files, JSON Schema 2020-12, in a folder that also holds the other builds' folders
- Rules the rules JSON Schema can't express, with test vectors
- Example payloads an example of every named type
SDK types Secondary
The schemas are the product. These types are generated from the same model, as the default SDK tree, sdk/, until a dedicated emitter replaces them.
- TypeScript types Zod 4
- Python types Pydantic 2
- Go types the standard library only
Browse the 17 schema files on this site
schemas/as-written/kernel/1/kernel.jsonschemas/as-written/modules/audience/1/audience.jsonschemas/as-written/modules/commercial/1/commercial.jsonschemas/as-written/modules/creative/1/creative.jsonschemas/as-written/modules/eligibility/1/eligibility.jsonschemas/as-written/modules/execution/1/execution.jsonschemas/as-written/modules/guarantees/1/guarantees.jsonschemas/as-written/modules/inventory/1/inventory.jsonschemas/as-written/modules/line-item/1/line-item.jsonschemas/as-written/modules/proposal/1/proposal.jsonschemas/as-written/modules/representation/1/representation.jsonschemas/as-written/modules/settlement/1/settlement.jsonschemas/as-written/modules/targeting/1/targeting.jsonschemas/as-written/documents/1/line-item-summary.jsonschemas/as-written/documents/1/line-item.jsonschemas/as-written/documents/1/proposal-summary.jsonschemas/as-written/documents/1/proposal.json
main · With our proposals
- JSON Schema files 18 files, JSON Schema 2020-12, in a folder that also holds the other builds' folders
- Rules the rules JSON Schema can't express, with test vectors
- Example payloads an example of every named type
SDK types Secondary
The schemas are the product. These types are generated from the same model, as an opt-in SDK tree, sdk/proposed/, until a dedicated emitter replaces them.
- TypeScript types Zod 4
- Python types Pydantic 2
- Go types the standard library only
Browse the 18 schema files on this site
schemas/kernel/1/kernel.jsonschemas/modules/audience/1/audience.jsonschemas/modules/commercial/1/commercial.jsonschemas/modules/creative/1/creative.jsonschemas/modules/eligibility/1/eligibility.jsonschemas/modules/execution/1/execution.jsonschemas/modules/guarantees/1/guarantees.jsonschemas/modules/inventory/1/inventory.jsonschemas/modules/line-item/1/line-item.jsonschemas/modules/proposal/1/proposal.jsonschemas/modules/representation/1/representation.jsonschemas/modules/settlement/1/settlement.jsonschemas/modules/targeting/1/targeting.jsonschemas/documents/1/line-item-summary.jsonschemas/documents/1/line-item.jsonschemas/documents/1/proposal-summary.jsonschemas/documents/1/proposal.jsonschemas/release.json
With the open PRs · As written
- JSON Schema files 19 files, JSON Schema 2020-12
- Rules the rules JSON Schema can't express, with test vectors
- Example payloads an example of every named type
SDK types Secondary
The schemas are the product. These types are generated from the same model, as the default SDK tree, sdk/with-open-prs/, until a dedicated emitter replaces them.
- TypeScript types Zod 4
- Python types Pydantic 2
- Go types the standard library only
Browse the 19 schema files on this site
schemas/as-written/with-open-prs/kernel/1/kernel.jsonschemas/as-written/with-open-prs/modules/audience/1/audience.jsonschemas/as-written/with-open-prs/modules/commercial/1/commercial.jsonschemas/as-written/with-open-prs/modules/creative/1/creative.jsonschemas/as-written/with-open-prs/modules/eligibility/1/eligibility.jsonschemas/as-written/with-open-prs/modules/execution/1/execution.jsonschemas/as-written/with-open-prs/modules/guarantees/1/guarantees.jsonschemas/as-written/with-open-prs/modules/inventory/1/inventory.jsonschemas/as-written/with-open-prs/modules/line-item/1/line-item.jsonschemas/as-written/with-open-prs/modules/proposal/1/proposal.jsonschemas/as-written/with-open-prs/modules/publication/1/publication.jsonschemas/as-written/with-open-prs/modules/representation/1/representation.jsonschemas/as-written/with-open-prs/modules/settlement/1/settlement.jsonschemas/as-written/with-open-prs/modules/targeting/1/targeting.jsonschemas/as-written/with-open-prs/documents/1/line-item-summary.jsonschemas/as-written/with-open-prs/documents/1/line-item.jsonschemas/as-written/with-open-prs/documents/1/manifest.jsonschemas/as-written/with-open-prs/documents/1/proposal-summary.jsonschemas/as-written/with-open-prs/documents/1/proposal.json
With the open PRs · With our proposals
- JSON Schema files 20 files, JSON Schema 2020-12
- Rules the rules JSON Schema can't express, with test vectors
- Example payloads an example of every named type
SDK types Secondary
The schemas are the product. These types are generated from the same model, as an opt-in SDK tree, sdk/proposed/with-open-prs/, until a dedicated emitter replaces them.
- TypeScript types Zod 4
- Python types Pydantic 2
- Go types the standard library only
Browse the 20 schema files on this site
schemas/with-open-prs/kernel/1/kernel.jsonschemas/with-open-prs/modules/audience/1/audience.jsonschemas/with-open-prs/modules/commercial/1/commercial.jsonschemas/with-open-prs/modules/creative/1/creative.jsonschemas/with-open-prs/modules/eligibility/1/eligibility.jsonschemas/with-open-prs/modules/execution/1/execution.jsonschemas/with-open-prs/modules/guarantees/1/guarantees.jsonschemas/with-open-prs/modules/inventory/1/inventory.jsonschemas/with-open-prs/modules/line-item/1/line-item.jsonschemas/with-open-prs/modules/proposal/1/proposal.jsonschemas/with-open-prs/modules/publication/1/publication.jsonschemas/with-open-prs/modules/representation/1/representation.jsonschemas/with-open-prs/modules/settlement/1/settlement.jsonschemas/with-open-prs/modules/targeting/1/targeting.jsonschemas/with-open-prs/documents/1/line-item-summary.jsonschemas/with-open-prs/documents/1/line-item.jsonschemas/with-open-prs/documents/1/manifest.jsonschemas/with-open-prs/documents/1/proposal-summary.jsonschemas/with-open-prs/documents/1/proposal.jsonschemas/with-open-prs/release.json