Delivery protocol schemas
These definitions are generated from the downloadable OpenAPI contract. Required fields, validation constraints and additional-property policies are preserved.
SignedDocument
Section titled “SignedDocument”{ "type": "string", "description": "Compact JWS with alg EdDSA, trusted kid and typ localisync+json. UTF-8 JSON payload follows the corresponding manifest schema."}ReleaseManifest
Section titled “ReleaseManifest”| Field | Type | Required | Constraints / description |
|---|---|---|---|
protocol |
number | Yes | — |
kind |
string | Yes | — |
projectId |
string | Yes | format: "uuid"; pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" |
releaseId |
string | Yes | format: "uuid"; pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" |
compatibility |
object | Yes | — |
requestedLocales |
Array of string | Yes | minItems: 1 |
languages |
Array of object | Yes | minItems: 1 |
files |
Array of object | Yes | minItems: 1 |
keyCount |
integer | Yes | maximum: 10000 |
{ "type": "object", "properties": { "protocol": { "type": "number", "const": 1 }, "kind": { "type": "string", "const": "release" }, "projectId": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "releaseId": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "compatibility": { "type": "object", "properties": { "min": { "anyOf": [ { "type": "string", "maxLength": 256 }, { "type": "null" } ] }, "max": { "anyOf": [ { "type": "string", "maxLength": 256 }, { "type": "null" } ] } }, "required": [ "min", "max" ], "additionalProperties": false }, "requestedLocales": { "minItems": 1, "type": "array", "items": { "type": "string", "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9-]+$" } }, "languages": { "minItems": 1, "type": "array", "items": { "type": "object", "properties": { "locale": { "type": "string", "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9-]+$" }, "fallback": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9-]+$" }, { "type": "null" } ] } }, "required": [ "locale", "fallback" ], "additionalProperties": false } }, "files": { "minItems": 1, "type": "array", "items": { "type": "object", "properties": { "locale": { "type": "string", "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9-]+$" }, "digest": { "type": "string", "pattern": "^[a-f0-9]{64}$" }, "bytes": { "type": "integer", "exclusiveMinimum": 0, "maximum": 104857600 } }, "required": [ "locale", "digest", "bytes" ], "additionalProperties": false } }, "keyCount": { "type": "integer", "exclusiveMinimum": 0, "maximum": 10000 } }, "required": [ "protocol", "kind", "projectId", "releaseId", "compatibility", "requestedLocales", "languages", "files", "keyCount" ], "additionalProperties": false}ChannelManifest
Section titled “ChannelManifest”| Field | Type | Required | Constraints / description |
|---|---|---|---|
protocol |
number | Yes | — |
kind |
string | Yes | — |
projectId |
string | Yes | format: "uuid"; pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" |
distributionId |
string | Yes | format: "uuid"; pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" |
channel |
preview, production |
Yes | — |
revision |
integer | Yes | minimum: 0; maximum: 9007199254740991 |
publications |
Array of object | Yes | — |
{ "type": "object", "properties": { "protocol": { "type": "number", "const": 1 }, "kind": { "type": "string", "const": "catalog" }, "projectId": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "distributionId": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "channel": { "type": "string", "enum": [ "preview", "production" ] }, "revision": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "publications": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "releaseId": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "manifestDigest": { "type": "string", "pattern": "^[a-f0-9]{64}$" }, "sequence": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "compatibility": { "type": "object", "properties": { "min": { "anyOf": [ { "type": "string", "maxLength": 256 }, { "type": "null" } ] }, "max": { "anyOf": [ { "type": "string", "maxLength": 256 }, { "type": "null" } ] } }, "required": [ "min", "max" ], "additionalProperties": false } }, "required": [ "id", "releaseId", "manifestDigest", "sequence", "compatibility" ], "additionalProperties": false } } }, "required": [ "protocol", "kind", "projectId", "distributionId", "channel", "revision", "publications" ], "additionalProperties": false}LocaleFile
Section titled “LocaleFile”| Field | Type | Required | Constraints / description |
|---|---|---|---|
protocol |
number | Yes | — |
releaseId |
string | Yes | format: "uuid"; pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" |
locale |
string | Yes | minLength: 1; maxLength: 255; pattern: "^[A-Za-z0-9-]+$" |
entries |
Array of object | Yes | maxItems: 10000 |
{ "type": "object", "properties": { "protocol": { "type": "number", "const": 1 }, "releaseId": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "locale": { "type": "string", "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9-]+$" }, "entries": { "maxItems": 10000, "type": "array", "items": { "type": "object", "properties": { "key": { "type": "string", "minLength": 1, "maxLength": 200 }, "format": { "type": "string", "enum": [ "plain", "icu" ] }, "parameters": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 100, "pattern": "^[A-Za-z_][A-Za-z0-9_]*$" }, "type": { "type": "string", "enum": [ "text", "number" ] } }, "required": [ "name", "type" ], "additionalProperties": false } }, "value": { "type": [ "string", "null" ] } }, "required": [ "key", "format", "parameters", "value" ], "additionalProperties": false } } }, "required": [ "protocol", "releaseId", "locale", "entries" ], "additionalProperties": false}Your privacy, your choice
Choose whether we remember appearance preferences and use Google Analytics on Localisync and its documentation. Optional storage stays off until you accept.
Read our cookie policy