Skip to content
localisyncDocs
Open panel

Delivery protocol schemas

These definitions are generated from the downloadable OpenAPI contract. Required fields, validation constraints and additional-property policies are preserved.

{
"type": "string",
"description": "Compact JWS with alg EdDSA, trusted kid and typ localisync+json. UTF-8 JSON payload follows the corresponding manifest schema."
}
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
}
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
}
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
}

Cookie preferences

Your choice applies to localisync.com and docs.localisync.com. You can change it at any time using Cookie settings.