profile-dialect.schema.json
The restricted JSON Schema dialect a private profile may use, bounded so resolution stays offline and terminating.
All schemas§12.1§12.4FieldsRaw JSON
demos/end-to-end/artifacts/receiver/resources/31934d2cf8fa7b5af2f8e4cf591d96278c4f59ddb6bb190afccb93701244f9eb.schema.json, which validates against this schema.{
"$schema": "https://usemakoto.dev/schema/v0.2/profile-dialect.schema.json",
"$id": "https://schemas.example.internal/makoto/public-transform-metadata-v1.schema.json",
"type": "object",
"required": [
"schemaVersion",
"event",
"operation",
"inputs",
"extensions"
],
"properties": {
"schemaVersion": {
"const": "0.2"
},
"event": {
"type": "object",
"required": [
"id",
"occurredAt"
]
},
"operation": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"const": "urn:makoto:demo:operation:public-safe"
}
}
},
"inputs": {
"type": "array",
"minItems": 1
},
"extensions": {
"type": "object",
"required": [
"urn:makoto:demo:privacy-reviewed"
],
"properties": {
"urn:makoto:demo:privacy-reviewed": {
"const": true
}
}
}
}
}Fields
Top levelnonnegativeIntegerschemaObjectnestedSchemaschemaArrayschemaMap
Top level#
nonnegativeInteger#
- ≥ 0
Appears at $defs.*.maxContains, $defs.*.maxItems, $defs.*.maxLength, $defs.*.maxProperties, $defs.*.minContains, $defs.*.minItems, $defs.*.minLength, $defs.*.minProperties…
schemaObject#
- closed object
Appears at $defs.*, $defs.*.additionalProperties, $defs.*.contains, $defs.*.contentSchema, $defs.*.else, $defs.*.if, $defs.*.items, $defs.*.not…
| Field | Type | Constraints, rules, and a real value |
|---|---|---|
| $schema optional | string constant |
"https://usemakoto.dev/schema/v0.2/profile-dialect.schema.json" |
| $id optional | string |
"https://schemas.example.internal/makoto/public-transform-metadata-v1.schema.json" |
| $comment optional | string | |
| $ref optional | string | |
| $defs optional | schemaMap | |
| $anchor optional | string |
|
| type optional | one of: enum | array of enum | "object" |
| enum optional | array |
["0-17", "18-24", "25-34", "35-44", "45-54", "55-64", "65+"] |
| const optional | any | "0.2" |
| multipleOf optional | number |
|
| maximum optional | number | |
| exclusiveMaximum optional | number | |
| minimum optional | number | |
| exclusiveMinimum optional | number | |
| maxLength optional | nonnegativeInteger | 20 |
| minLength optional | nonnegativeInteger | 20 |
| makotoPattern optional | string |
|
| maxItems optional | nonnegativeInteger | |
| minItems optional | nonnegativeInteger | 1 |
| uniqueItems optional | boolean | |
| maxContains optional | nonnegativeInteger | |
| minContains optional | nonnegativeInteger | |
| maxProperties optional | nonnegativeInteger | |
| minProperties optional | nonnegativeInteger | |
| required optional | array of string |
["schemaVersion", "event", "operation", "inputs", "extensions"] |
| dependentRequired optional | map of array of string | |
| allOf optional | schemaArray | |
| anyOf optional | schemaArray | |
| oneOf optional | schemaArray | |
| not optional | nestedSchema | |
| if optional | nestedSchema | |
| then optional | nestedSchema | |
| else optional | nestedSchema | |
| properties optional | schemaMap | {"schemaVersion": {"const": "0.2"}, "event": {"type": "object", "required": ["id", "occurredAt"… |
| additionalProperties optional | nestedSchema | false |
| unevaluatedProperties optional | nestedSchema | |
| propertyNames optional | nestedSchema | |
| dependentSchemas optional | schemaMap | |
| prefixItems optional | schemaArray | |
| items optional | nestedSchema | {"type": "object", "required": ["age_band", "customer_id", "marketing_consent", "region"], "pro… |
| contains optional | nestedSchema | |
| unevaluatedItems optional | nestedSchema | |
| title optional | string | |
| description optional | string | |
| default optional | any | |
| deprecated optional | boolean | |
| readOnly optional | boolean | |
| writeOnly optional | boolean | |
| examples optional | array | |
| contentEncoding optional | string | |
| contentMediaType optional | string | |
| contentSchema optional | nestedSchema | |
| format optional | string |
nestedSchema#
Appears at $defs.*, $defs.*.$defs.*, $defs.*.additionalProperties, $defs.*.allOf[], $defs.*.anyOf[], $defs.*.contains, $defs.*.contentSchema, $defs.*.dependentSchemas.*…
Variants (2)
Exactly one of these shapes must match.
| # | Base |
|---|---|
| 1 | boolean |
| 2 | any |
schemaArray#
- min items 1
Appears at $defs.*.allOf, $defs.*.anyOf, $defs.*.oneOf, $defs.*.prefixItems, additionalProperties.additionalProperties.allOf, additionalProperties.additionalProperties.anyOf, additionalProperties.additionalProperties.oneOf, additionalProperties.additionalProperties.prefixItems…
schemaMap#
Appears at $defs, $defs.*.$defs, $defs.*.dependentSchemas, $defs.*.properties, additionalProperties.$defs, additionalProperties.additionalProperties.$defs, additionalProperties.additionalProperties.dependentSchemas, additionalProperties.additionalProperties.properties…
Real documents that validate
demos/end-to-end/artifacts/receiver/resources/31934d2cf8fa7b5af2f8e4cf591d96278c4f59ddb6bb190afccb93701244f9eb.schema.jsondemos/end-to-end/artifacts/receiver/resources/68169d043c628fda5435cbd7845b02ea3e0d850b7a509c0b35fd304463fffacb.schema.json
Raw JSON
The published document (5,319 bytes)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://usemakoto.dev/schema/v0.2/profile-dialect.schema.json",
"$vocabulary": {
"https://json-schema.org/draft/2020-12/vocab/core": true,
"https://json-schema.org/draft/2020-12/vocab/applicator": true,
"https://json-schema.org/draft/2020-12/vocab/validation": true,
"https://json-schema.org/draft/2020-12/vocab/meta-data": true,
"https://json-schema.org/draft/2020-12/vocab/format-annotation": true,
"https://json-schema.org/draft/2020-12/vocab/content": true,
"https://json-schema.org/draft/2020-12/vocab/unevaluated": true,
"https://usemakoto.dev/vocab/v0.2/bounded-pattern": true
},
"$dynamicAnchor": "meta",
"title": "Makoto v0.2 Organizational Profile Dialect",
"type": "object",
"required": ["$schema", "$id"],
"allOf": [{ "$ref": "#/$defs/schemaObject" }],
"$defs": {
"nonnegativeInteger": { "type": "integer", "minimum": 0 },
"schemaObject": {
"type": "object",
"properties": {
"$schema": {
"const": "https://usemakoto.dev/schema/v0.2/profile-dialect.schema.json"
},
"$id": { "type": "string", "minLength": 1, "maxLength": 4096 },
"$comment": { "type": "string" },
"$ref": { "type": "string" },
"$defs": { "$ref": "#/$defs/schemaMap" },
"$anchor": {
"type": "string",
"pattern": "^[A-Za-z_][-A-Za-z0-9._]*$"
},
"type": {
"oneOf": [
{
"enum": ["null", "boolean", "object", "array", "number", "string", "integer"]
},
{
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"enum": ["null", "boolean", "object", "array", "number", "string", "integer"]
}
}
]
},
"enum": { "type": "array", "minItems": 1 },
"const": true,
"multipleOf": { "type": "number", "exclusiveMinimum": 0 },
"maximum": { "type": "number" },
"exclusiveMaximum": { "type": "number" },
"minimum": { "type": "number" },
"exclusiveMinimum": { "type": "number" },
"maxLength": { "$ref": "#/$defs/nonnegativeInteger" },
"minLength": { "$ref": "#/$defs/nonnegativeInteger" },
"makotoPattern": { "type": "string", "maxLength": 65536 },
"maxItems": { "$ref": "#/$defs/nonnegativeInteger" },
"minItems": { "$ref": "#/$defs/nonnegativeInteger" },
"uniqueItems": { "type": "boolean" },
"maxContains": { "$ref": "#/$defs/nonnegativeInteger" },
"minContains": { "$ref": "#/$defs/nonnegativeInteger" },
"maxProperties": { "$ref": "#/$defs/nonnegativeInteger" },
"minProperties": { "$ref": "#/$defs/nonnegativeInteger" },
"required": {
"type": "array",
"items": { "type": "string" },
"uniqueItems": true
},
"dependentRequired": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": { "type": "string" },
"uniqueItems": true
}
},
"allOf": { "$ref": "#/$defs/schemaArray" },
"anyOf": { "$ref": "#/$defs/schemaArray" },
"oneOf": { "$ref": "#/$defs/schemaArray" },
"not": { "$ref": "#/$defs/nestedSchema" },
"if": { "$ref": "#/$defs/nestedSchema" },
"then": { "$ref": "#/$defs/nestedSchema" },
"else": { "$ref": "#/$defs/nestedSchema" },
"properties": { "$ref": "#/$defs/schemaMap" },
"additionalProperties": { "$ref": "#/$defs/nestedSchema" },
"unevaluatedProperties": { "$ref": "#/$defs/nestedSchema" },
"propertyNames": { "$ref": "#/$defs/nestedSchema" },
"dependentSchemas": { "$ref": "#/$defs/schemaMap" },
"prefixItems": { "$ref": "#/$defs/schemaArray" },
"items": { "$ref": "#/$defs/nestedSchema" },
"contains": { "$ref": "#/$defs/nestedSchema" },
"unevaluatedItems": { "$ref": "#/$defs/nestedSchema" },
"title": { "type": "string" },
"description": { "type": "string" },
"default": true,
"deprecated": { "type": "boolean" },
"readOnly": { "type": "boolean" },
"writeOnly": { "type": "boolean" },
"examples": { "type": "array" },
"contentEncoding": { "type": "string" },
"contentMediaType": { "type": "string" },
"contentSchema": { "$ref": "#/$defs/nestedSchema" },
"format": { "type": "string" }
},
"additionalProperties": false
},
"nestedSchema": {
"oneOf": [
{ "type": "boolean" },
{
"allOf": [
{ "$ref": "#/$defs/schemaObject" },
{
"not": {
"anyOf": [
{ "required": ["$schema"] },
{ "required": ["$id"] },
{ "required": ["$vocabulary"] }
]
}
}
]
}
]
},
"schemaArray": {
"type": "array",
"minItems": 1,
"items": { "$ref": "#/$defs/nestedSchema" }
},
"schemaMap": {
"type": "object",
"additionalProperties": { "$ref": "#/$defs/nestedSchema" }
}
}
}
The published bytes, unmodified.